Google

2005-07-19

vim - the perfect cheat sheet

I copied this useful cheat sheet from "Command Line Warriors" blog. Check out their blog for more.

Command Mode ESC
Insert Mode i

Movement commands

h, j, k, l left, down, up, right
w, W, b, B forward, backward by word
H highest line of the screen
M middle line of the screen
L lowest line of the screen
Ctrl-F forward one screen
Ctrl-B backward one screen
Ctrl-D halfway down (i.e. forward) the screen
Ctrl-U halfway up (i.e. back) the screen
0 (zero), $ start, end of current line

Inserting text

a append after cursor
i insert before cursor
A append to end of line
I insert at start of line
o open a line below current line
O open a line above current line
r replace char

Delete text

x current character
dh previous character
dw current word
db previous word
dd entire line
d$ to end of line
d0 (zero) to start of line
ndd next n lines

Undelete

p insert after cursor
P insert before cursor

Goto line

:linenumber
nG Goto line n
:7 Goto line 7

Save and exit

ZZ write if changes and quit
:wq write and quit
:w filename save to new file
:q! quit vi
:x save & quit (Thanks for the tip Jan!)

Search

/pattern forward for a pattern
?pattern backward for a pattern
n repeat previous search
N repeat previous search in reverse direction

Search and replace

Example:

* Search from current line and replace first occurance
:s/search_string/replace_string/
* Search from current line and replace all matches
:s/search_string/replace_string/g
* Search from every line, replace confirmation (with [y]es)
:%s/search_string/replace_string/gc
:1,$s/search_string/replace_string/gc
* Search lines from 10 to 20
:10,20s/search_string/replace_string/g

Undo

u the latest change
U all changes on a line

Concatenate
J concatenate two lines

No comments: