Recall that c, d, and y are the basic editing operators.
Action |
|
---|---|
a |
Append after cursor. |
A |
Append to end of line. |
i |
Insert before cursor. |
I |
Insert at first nonblank character of line. |
gI |
Insert at beginning of line. {vim} |
o |
Open a line below cursor. |
O |
Open a line above cursor. |
Esc |
Terminate insert mode. |
The following commands work in insert mode.
Command |
Action |
---|---|
Tab |
Insert a tab. |
Backspace |
Delete previous character. |
Ctrl-E |
Insert character found just below cursor. {vim} |
Ctrl-Y |
Insert character found just above cursor. {vim} |
Ctrl-H |
Delete previous character (same as Backspace). |
Delete |
Delete current character. |
Ctrl-W |
Delete previous word. {vim} |
Ctrl-A |
Repeat last insertion. {vim} |
Ctrl-I |
Insert a tab. |
Ctrl-N |
Insert next completion of the pattern to the left of the cursor. {vim} |
Ctrl-P |
Insert previous completion of the pattern to the left of the cursor. {vim} |
Ctrl-T |
Shift line right to next shift width. {vim} |
Ctrl-D |
Shift line left to previous shift width. {vim} |
Ctrl-U |
Delete current line. |
Ctrl-V |
Insert next character verbatim. |
Ctrl-[ |
Terminate insert mode. |
Some of the control characters listed in the previous table are set by stty. Your terminal settings may differ.
The following table is not exhaustive, but illustrates the most common operations.
Action |
|
---|---|
cw |
Change through end of current word. |
cc |
Change line. |
c$ |
Change text from current position to end-of-line. |
C |
Same as c$. |
dd |
Delete current line. |
d$ |
Delete remainder of line. |
D |
Same as d$. |
ndd |
Delete n lines. |
dw |
Delete a word. |
d} |
Delete up to next paragraph. |
d^ |
Delete back to beginning of line. |
d/pattern |
Delete up to first occurrence of pattern. |
dn |
Delete up to next occurrence of pattern. |
dfa |
Delete up to and including a on current line. |
dta |
Delete up to (not including) a on current line. |
dL |
Delete up to last line on screen. |
dG |
Delete to end-of-file. |
gqap |
Reformat current paragraph to textwidth. {vim} |
g~w |
Switch case of word. {vim} |
guw |
Change word to lowercase. {vim} |
gUw |
Change word to uppercase. {vim} |
p |
Insert last deleted or yanked text after cursor. |
gp |
Same as p, but leave cursor at end of inserted text. {vim} |
]p |
Same as p, but match current indention. {vim} |
[p |
Same as P, but match current indention. {vim} |
P |
Insert last deleted or yanked text before cursor. |
gP |
Same as P, but leave cursor at end of inserted text. {vim} |
rx |
Replace character with x. |
Rtext |
Replace text beginning at cursor. |
s |
Substitute character. |
ns |
Substitute n characters. |
S |
Substitute entire line. |
u |
Undo last change. |
Ctrl-R |
Redo last change. {vim} |
U |
Restore current line. |
x |
Delete current character. |
X |
Delete back one character. |
nX |
Delete previous n characters. |
. |
Repeat last change. |
~ |
Reverse case. |
& |
Repeat last substitution. |
Y |
Copy (yank) current line to temporary buffer. |
yy |
Same as Y. |
"xyy |
Copy current line to buffer x. |
ye |
Copy text to end of word into temporary buffer. |
yw |
Same as ye. |
y$ |
Copy rest of line into temporary buffer. |
"xdd |
Delete current line into buffer x. |
"Xdd |
Delete current line and append to buffer x. |
"xp |
Put contents of buffer x. |
J |
Join previous line to current line. |
gJ |
Same as J, but without inserting a space. {vim} |
:j! |
Same as J. |
Ctrl-A |
Increment number under cursor. {vim} |
Ctrl-X |
Copyright © 2003 O'Reilly & Associates. All rights reserved.