Vi Short Command Reference
From Free Knowledge Base- The DUCK Project: information for everyone
ContentsVi short command reference(Learn or review your Vi commands with this concise reference) |
Operation
i | input mode |
esc | command mode |
:se number | display line numbers |
:se nonumber | don't display line numbers |
:e | open file |
:w | save (write) file to disk |
:wq | save and quit |
:q! | quit but don't save |
number,command | apply command number times (e.g. 4,x = delete 4 characters) |
. | repeat last effective cmd |
esc,u | undo it |
ctrl-r | redo it |
- | go to beginning of previous line |
0 (zero) or ^ | go to beginning of this line |
$ | go to end of this line |
ret or + | = go to beginning of next line (NOT THE SAME AS INPUT RETURN) |
w | go to beginning of next word |
b | go to beginning of this word |
e | go to end of this word |
sft-h | go to first line onscreen |
sft-l | go to last line onscreen |
ctrl-f | forward (down) one screen |
ctrl-b | backward (up) one screen |
1,sft-g | top of the buffer |
sft-g | bottom of the buffer (i.e. EOF) |
line,sft-g | go to line (e.g. 3,5,sft-g = line 35) |
= column 4) | |
sft-J | Join / bring next line up (append next line to end) |
Deletion
deleted text is put to the general purpose buffer; use the p cmd to retrieve it you can also use yanks to not delete it but still put it in the GPB basically delete = cut and yank = copy in your OS's Edit menu
x | delete this character |
d,w | delete word |
d,d | delete line |
sft-d | delete to end of line (same as emacs ctrl-k) |
y,w | yank to beginning of next word |
sft-y or y,$ | yank to end of line |
y,y | yank entire line |
buffer"lines"y,y | yank lines number of lines into buffer buffer (a-z) |
p | paste contents of general-purpose buffer |
Replacement
To use replacers type the sequence and then type the string of characters to replace with, e.g. 2,c,w,"Bored Zo" to replace from the cursor to the end of the next word to "Bored Zo"
r | replace a single character |
shift-r | is the cursor and your text is "I AM the |Entertained Zo!" shift-r,"Bored" will give you "I AM the Boredtained Zo!") |
c,w or c,e | change from cursor to end of word |
c,b | change from beginning of word to before cursor |
c,$ or sft-c | change from cursor to end of line |
c,c | change the ENTIRE line |
:x,ys/oldstring/newstring/ | substitute one occurrence of newstring for oldstring from line x to line y (if y = $ then to EOF) |
:x,ys/oldstr/newstr/g | substitute all occurrences per line of newstring for oldstring |
:%s/oldstr/newstr/g | substitution from start of document to end of document all lines, all occurrences per line. |
~ | toggle a character's case |
Robotz.com Developer's Project
developer@robotz.com