This concludes the Vim Tutor. It was intended to give a brief overview of the Vim editor, just enough to allow you to use the editor fairly easily.
It is far from complete as Vim has many many more commands. But unless you are familar with these operations, you won't go further more through Vim.
Lesson 1
The cursor is moved using either the arrow keys or the
hjklkeys.To start Vim from the shell prompt type:
vim FILENAME <ENTER>To exit Vim type:
<ESC> :q! <ENTER>to trash all changes.
OR type: <ESC> :wq <ENTER> to save the changes.
To delete the character at the cursor type:
xTo insert or append text type:
i type inserted text <ESC> insert before the cursor
A type appended text <ESC> append after the line
NOTE: Pressing <ESC> will place you in Normal mode or will cancel an unwanted and partially completed command.
Lesson 2
- To delete from the cursor up to the next word type:
dw - To delete from the cursor to the end of a line type:
d$ - To delete a whole line type:
dd - To repeat a motion prepend it with a number:
2w The format for a change command is:
operator [number] motion where: operator - is what to do, such as d for delete [number] - is an optional count to repeat the motion motion - moves over the text to operate on, such as w (word), $ (to the end of line), etc.To move to the start of the line use a zero:
0To undo previous actions, type:
u(lowercase u)To undo all the changes on a line, type:
U(capital U)To undo the undo's, type:
CTRL-R
Lesson 3
To put back text that has just been deleted, type
p. This puts the deleted text AFTER the cursor (if a line was deleted it will go on the line below the cursor).To replace the character under the cursor, type
rand then the character you want to have there.The change operator allows you to change from the cursor to where the motion takes you. eg. Type
ceto change from the cursor to the end of the word,c$to change to the end of a line.The format for change is:
c [number] motion
Lesson 4
CTRL-Gdisplays your location in the file and the file status.Gmoves to the end of the file.number Gmoves to that line number.ggmoves to the first line.Typing
/followed by a phrase searches FORWARD for the phrase. Typing?followed by a phrase searches BACKWARD for the phrase. After a search typento find the next occurrence in the same direction orNto search in the opposite direction.CTRL-Otakes you back to older positions,CTRL-Ito newer positions.Typing
%while the cursor is on a(,),[,],{,or}goes to its match.To substitute new for the first old in a line type
:s/old/newTo substitute new for all 'old's on a line type
:s/old/new/gTo substitute phrases between two line #'s type
:#,#s/old/new/gTo substitute all occurrences in the file type
:%s/old/new/gTo ask for confirmation each time add 'c'
:%s/old/new/gc
Lesson 5
:!commandexecutes an external command.Some useful examples are:
| (Windows) | (Unix) | |
|---|---|---|
:!dir |
:!ls |
shows a directory listing. |
:!del FILENAME |
:!rm FILENAME |
removes file FILENAME. |
:w FILENAMEwrites the current Vim file to disk with name FILENAME.v motion :w FILENAMEsaves the Visually selected lines in file FILENAME.:r FILENAMEretrieves disk file FILENAME and puts it below the cursor position.:r !dirreads the output of the dir command and puts it below the cursor position.