Search This Blog

Friday, February 6, 2009

vi commands

Arrow keys Move cursor
hjkl Same as arrow keys
i
Insert text
cwnewESC Change word to new
easESC pluralize word (end of word; append s; escape from input state)
x delete a character
dw delete a word
dd delete a line
3dd deletes 3 lines
u undo previous change
ZZ exit vi , saving changes
:q!CR quit, discarding changes
/textCR search for text
^U ^D scroll up or down
:cmdCR any ex or ed command
ESC end insert or incomplete command
DEL (delete or rubout) interrupts
:wCR write back changes
:w!CR forced write, if permission originally not valid
:qCR quit
:q!CR quit, discard changes
:e nameCR edit file name
:e!CR reedit, discard changes
:e + nameCR edit, starting at end
:e +nCR edit, starting at line n
:e #CR edit alternate file
:e! #CR edit alternate file, discard changes
:w nameCR write file name
:w! nameCR overwrite file name
:shCR run shell, then return
:!cmdCR run cmd, then return
:nCR edit next file in arglist
:n argsCR specify new arglist
^G show current file and line
:ta tagCR position cursor to tag
F forward screen
^B backward screen
^D scroll down half screen
^U scroll up half screen
nG go to the beginning of the specified line (end default), where n is a line number
/pat next line matching pat
?pat previous line matching pat
n repeat last / or ? command
N reverse last / or ? command
/pat/+n nth line after pat
?pat?-n nth line before pat
]] next section/function
[[ previous section/function
( beginning of sentence
) end of sentence
{ beginning of paragraph
} end of paragraph
% find matching ( ) or { }
^L clear and redraw window
^R clear and redraw window if ^L is -> key
zCR redraw screen with current line at top of window
z-CR redraw screen with current line at bottom of window
z.CR redraw screen with current line at center of window
/pat/z-CR move pat line to bottom of window
zn.CR use n-line window
^E scroll window down one line
^Y scroll window up one line
`` move cursor to previous context
'' move cursor to first non-white space in line
mx mark current position with the ASCII lower-case letter x
`x move cursor to mark x
'x move cursor to first non-white space in line marked by x
H top line on screen
L last line on screen
M middle line on screen
+ next line, at first non-white space character
- previous line, at first non-white space character
CR return, same as +
down-arrow or j next line, same column
up-arrow or k previous line, same column
^ first non-white space character
0 beginning of line
$ end of line
l or -> forward
h or <- backward
^H same as <- (backspace)
space same as -> (space bar)
fx find next x
Fx find next x
tx move to character following the next x
Tx move to character following the previous x
; repeat last f, F, t, or T
, repeat inverse of last f, F, t, or T
n| move to column n
% find matching ( ) or { }
w forward a word
b back a word
e end of word
) to next sentence
} to next paragraph
( back a sentence
{ back a paragraph
W forward a blank-delimited word
B back a blank-delimited word
E end of a blank-delimited word
^H erase last character (backspace)
^W erase last word
erase your erase character, same as ^H (backspace)
kill your kill character, erase this line of input
\ quotes your erase and kill characters
ESC ends insertion, back to command mode
CTRL-C interrupt, suspends insert mode
^D backtab one character; reset left margin of autoindent
^^D caret (^) followed by control-d (^D); backtab to beginning of line; do not reset left margin of autoindent
0^D backtab to beginning of line; reset left margin of autoindent
^V quote non-printable character
a append after cursor
A append at end of line
i insert before cursor
I insert before first non-blank
o open line below
O open line above
rx replace single character with x
RtextESC replace characters
d delete
c change
y yank lines to buffer
> left shift
< right shift
! filter through command
C change rest of line (c$)
D delete rest of line (d$)
s substitute characters (cl)
S substitute lines (cc)
J join lines
x delete characters (dl)
X delete characters before cursor dh)
Y yank lines (yy)
3yy yank 3 lines
3yl yank 3 characters
p put back text after cursor
P put back text before cursor " .nr )I xp"n
put from buffer x " .nr )I xy"n
yank to buffer x " .nr )I xd"n
delete into buffer x
u undo last change
U restore current line
. repeat last change " .nr )I dp"n
retrieve d'th last delete

No comments:

Post a Comment