vim shortcuts keyboard code code example
Example: vim shortcuts keyboard code
// Vim in Linux Shortcuts and Keyboard operations
// For More Detailed and Advanced Operations Visit the site here
// https://gist.github.com/awidegreen/3854277
// Cut and paste:
1. Position the cursor where you want to begin cutting.
2. Press v to select characters, or uppercase V to select whole lines, or Ctrl-v to select rectangular blocks (use Ctrl-q if Ctrl-v is mapped to paste).
3. Move the cursor to the end of what you want to cut.
4. Press d to cut (or y to copy).
5. Move to where you would like to paste.
6. Press P to paste before the cursor, or p to paste after.
// Copy and paste is performed with the same steps except for step 4 where you would press y instead of d:
1. d stands for delete in Vim, which in other editors is usually called cut
2. y stands for yank in Vim, which in other editors is usually called copy
// GENERAL
:shift-( page up
:shift-) page down
:123 goto line number 123
:q close
:w write/saves
:wa[!] write/save all windows [force]
:wq write/save and close
:x save and quit, same as wq
:q! force close if file has changed and not save changes
u Undo
C-r Redo
v Enter visual mode for selection of LINES
C-v Enter visual mode for selection of BLOCKS
y Yank/copy selected region
yy Yank/copy entire line
"y Yank/copy marked region into register (register from a-z)
c Cut selection
p Paste yanked content
"p Paste yanked content in register (from a-z)
P Paste yanked content BEFORE
:! Execute shell command
C-z send vim to background (fg brings it to front again)
//INSERT MODE
a Append text after the cursor
A Append text at the end of the line
i Insert text before the cursor
I Insert text before the first non-blank in the line
o Begin a new line BELOW the cursor and insert text
O Begin a new line ABOVE the cursor and insert text
s Erase the current letter under the cursor, set insert-mode
S Erase the whole line, set insert-mode
cc Delete the current line, set insert-mode
cw Delete word, set insert-mode
dd Delete line under curser
// How to Record and Replay Macros with Vim
q[a-z] Start recording, everything will be recorded including movement actions.
@[a-z] Execute the recorded actions.
// NAVIGATION
h cursor left
j cursor down
l cursor right
k cursor up
H Jump to TOP of screen
M Jump to MIDDLE of screen
L Jump to BOTTOM of screen
C-b Move back one full screen (page up)
C-f Move forward one full screen (page down)
C-d Move forward 1/2 screen; half page down
C-u Move back (up) 1/2 screen; half page up
w jump by start of words (punctuation considered words)
e jump to end of words (punctuation considered words)
b jump backward by words (punctuation considered words)
0 (zero) start of line
^ first non-blank character of line
$ end of line
G bottom of file
gg top of file
E jump to end of words (no punctuation)
W jump by words (spaces separate words)
B jump backward by words (no punctuation)
#G goto line #
#gg goto line #
//SEARCH & JUMP
* search for word under cursor (forward) and highlight occurrence (see incsearch, hlsearch below)
% jump from open/close ( / #if / ( / { to corresponding ) / #endif / }
[{ jump to start of current code block
]} jump to end of current code block
gd jump to var declaration (see incsearch, hlsearch below)
f Find char from current cursor position -- forwards
F Find char from current cursor position -- backwards
, Repeat previous f or F in opposite direction
; Repeat previous f or F in same direction
'. jump back to last edited line.
g; jump back to last edited position.
[m jump to start of funtion body
[i show first declartion/use of the word under cursor
[I show all occurrences of word under cursor in current file
[/ cursor to N previous start of a C comment