div_help_vi
cursor move
h left
l right
j up
k down
insert Mode
a append after cursor
A append at eol
c change
C change to eol
i insert before cursor
I Insert at beginning of line
o open line below
O open line above
R replace
Syntax
[n] operator [m] object
c change
d delete
y yank
Screens
ctrl-F scroll forward
ctrl-B scroll backward
Searches
/text search forward to text
n repeat search
N repeat search opposite direction
/ repeat forward search
? repeat backward search
Substitutions
g/$/s/pattern/tpatter/g
g/^/s/pattern/tpattern/g
Line Numbering
ctrl-G display current line number
nG move to line number n
G move to last line in file
:n move to line number n
Marking Positions
mx markl current position with char x
'x move cursor to mark x
`` move to previous mark
Deleting
dG delete to end of file
p insert after cursor
P insert before cursor
u undo last change
U restore current line
x delete current cursor position
X delete back one char
Coping
y copy current line to new buffer
yy copy current line
"xyy yank current line to buffer x
"xd delete and append into buffer x
"xp put contents of buffer x
Multiple Files
:e file edit another file
:n edit next file
:n files specify new list of files
Unix
:r file read in file after cursor
:r !command read in output from command
:so file read and execute commands from file
Macros
:ab in out use in as abbrev for out
:unab in remove abbrev for in
:ab list abbrevs
:map c seq map char c as commands
:unmap c disable map for c
:map list char that are mapped
:map! c seq map c to input mode seq
:unmap! c disable input mode map
:map! list input mode chars
Misc
J join two lines
:j! join two lines with blanks spaces
>> shift line right
ctrk-V quote