Show Menu
Cheatography

Vim Cheat Sheet (DRAFT) by

Vim commands :))))))))))

This is a draft cheat sheet. It is a work in progress and is not finished yet.

Working with files

:e filename
Open a new file. You can use the Tab key for automatic file name comple­­tion, just like at the shell command prompt.
:w filename
Save changes to a file. If you don't specify a file name, Vim saves as the file name you were editing. For saving the file under a different name, specify the file name.
:q
Quit Vim. If you have unsaved changes, Vim refuses to exit.
:q!
Exit Vim without saving changes.
:wq
Write the file and exit.
:x
Almost the same as :wq, write the file and exit if you've made changes to the file. If you haven't made any changes to the file, Vim exits without writing the file.

Moving around in the file

j or Up
Move the cursor up one line.
k or Down
Down one line.
h or Left
Left one character.
l or Right
Right one character.
e
To the end of a word.
E
To the end of a whites­­pa­c­e­-d­­eli­­mited word.
b
To the beginning of a word.
B
To the beginning of a whites­­pa­c­e­-d­­eli­­mited word.
0
To the beginning of a line.
^
To the first non-wh­­it­e­space character of a line.
$
To the end of a line.
H
To the first line of the screen.
M
To the middle line of the screen.
L
To the the last line of the screen.
:n
Jump to line number n. For example, to jump to line 42, you'd type :42

Inserting and overwr­iting text

i
Insert before cursor.
I
Insert to the start of the current line.
a
Append after cursor.
A
Append to the end of the current line.
o
Open a new line below and insert.
O
Open a new line above and insert.
C
Change the rest of the current line.
r
Overwrite one character. After overwr­­iting the single character, go back to command mode.
R
Enter insert mode but replace characters rather than inserting.
ESC
Exit insert­­/o­v­e­rwrite mode and go back to command mode.
 

Editing blocks of text

~
Change the case of charac­­ters. This works both in visual and command mode. In visual mode, change the case of highli­­ghted charac­­ters. In command mode, change the case of the character under cursor.
> (V)
Shift right (indent).
< (V)
Shift left (de-in­­dent).
c (V)
Change the highli­­ghted text.
y (V)
Yank the highli­­ghted text. In Windows terms, "copy the selected text to clipbo­­ar­d."
d (V)
Delete the highli­­ghted text. In Windows terms, "cut the selected text to clipbo­­ar­d."
yy or :y or Y
Yank the current line. You don't need to highlight it first.
dd or :d
Delete the current line. Again, you don't need to highlight it first.
p
Put the text you yanked or deleted. In Windows terms, "­­paste the contents of the clipbo­­ar­d­". Put characters after the cursor. Put lines below the current line.
P
Put characters before the cursor. Put lines above the current line.
Note: the Vim commands marked with (V) work in visual mode, when you've selected some text. The other commands work in the command mode, when you haven't selected any text.

Deleting text

x
Delete characters under the cursor.
X
Delete characters before the cursor.
dd or :d
Delete the current line.

Search

/pattern
Search the file for pattern.
n
Scan for next search match in the same direction.
N
Scan for next search match but opposite direction.

Undo and redo

u
Undo the last action.
U
Undo all the latest changes that were made to the current line.
Ctrl+r
Redo.

Visual mode

v
Start highli­­ghting charac­­ters. Use the normal movement keys and commands to select text for highli­­gh­ting.
V
Start highli­­ghting lines.
ESC
Exit visual mode and return to command mode.