Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
544 views3 pages

Vim Shortcuts for Coders

This document summarizes keyboard shortcuts for navigating, editing, marking text, cutting/pasting, searching/replacing, and working with multiple files in Vim. It provides shortcuts for cursor movement, insert mode, navigating documents, editing, visual mode, cutting/pasting, exiting, searching/replacing, and managing buffers and windows.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
544 views3 pages

Vim Shortcuts for Coders

This document summarizes keyboard shortcuts for navigating, editing, marking text, cutting/pasting, searching/replacing, and working with multiple files in Vim. It provides shortcuts for cursor movement, insert mode, navigating documents, editing, visual mode, cutting/pasting, exiting, searching/replacing, and managing buffers and windows.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
You are on page 1/ 3

Vim keyboard sortcuts

Cursor movement
h move left
j or Ctrl+J move down
k or Ctrl+P move up
l move one right
jump by start of words move forward one word (next alphanumeric word)
w
(punctuation considered words)
W jump by words (spaces separate words)
e jump to end of words (punctuation considered words)
E jump to end of words (no punctuation)
b jump backward by words (punctuation considered words)
B jump backward by words (no punctuation)
0 (zero) start of line
^ first non-blank character of line
$ end of line
G Go To command (prefix with number)
Prefix a cursor movement command with a number to repeat it. For example, 4j moves
Note:
down 4 lines.

Insert ModeInserting/Appending text


i start insert mode at cursor (insert before the cursor)
I insert at the beginning of the line
a insert (append) after the cursor
A insert (append) at the end of the line
o open (append) blank line below current line (no need to press return)
O open blank line above current line
ea append at end of word
Esc exit insert mode

Navigate around the document


( jumps to the previous sentence
) jumps to the next sentence
{ jumps to the previous paragraph
} jumps to the next paragraph
[[ jumps to the previous section
]] jumps to the next section
[] jump to the end of the previous section
][ jump to the end of the next section
Editing
r replace a single character (does not use insert mode)
J join line below to the current one
cc change (replace) an entire line
cw change (replace) to the end of word
c$ change (replace) to the end of line
s delete character at cursor and subsitute text
S delete line at cursor and substitute text (same as cc)
xp transpose two letters (delete and paste, technically)
u undo
. repeat last command

Marking text (visual mode)


v start visual mode, mark lines, then do command (such as y-yank)
V start Linewise visual mode
o move to other end of marked area
Ctrl+v start visual block mode
O move to Other corner of block
aw mark a word
ab a () block (with braces)
aB a {} block (with brackets)
ib inner () block
iB inner {} block
Esc exit visual mode

Visual commands
> shift right
< shift left
y yank (copy) marked text
d delete marked text
~ switch case

Cut and Paste


yy yank (copy) a line
2yy yank 2 lines
yw yank word
y$ yank to end of line
p put (paste) the clipboard after cursor
P put (paste) before cursor
dd delete (cut) a line
dw delete (cut) the current word
x delete (cut) current character

Exiting
:w write (save) the file, but don't exit
:wq write (save) and quit
:q quit (fails if anything has changed)
:q! quit and throw away changes

Search/Replace
/pattern search for pattern
?pattern search backward for pattern
n repeat search in same direction
N repeat search in opposite direction
:%s/old/new/g replace all old with new throughout file
:%s/old/new/gc replace all old with new throughout file with confirmations

Working with multiple files


:e filename Edit a file in a new buffer
:bnext (or :bn) go to next buffer
:bprev (of :bp) go to previous buffer
:bd delete a buffer (close a file)
:sp filename Open a file in a new buffer and split window
ctrl+ws Split windows
ctrl+ww switch between windows
ctrl+wq Quit a window
ctrl+wv Split windows vertically

You might also like