VimTutor interactive tutorial summary.
Interactive tutorial: :Tutor
.
Moving, Exiting, Deletion, Insertion, Appending, Editing
The cursor is moved using either the arrow keys or the hjkl keys. h (left) j (down) k (up) l (right)
To start Neovim from the shell prompt type:
$ nvim FILENAME
To exit Neovim type: <Esc>
{normal} :q!
{vim} <Enter>
{normal} to trash all changes.
OR type: <Esc>
{normal} :wq
{vim} <Enter>
{normal} to save the changes.
To delete the character at the cursor type: x
{normal}
To insert or append text type:
i
{normal} insert text <Esc>
{normal} insert before the cursor.
A
{normal} append text <Esc>
{normal} append after the line.
NOTE: Pressing <Esc>
{normal} will place you in Normal mode or will cancel
an unwanted and partially completed command.
Deletion, Operators and motions, Count for a motion, Count to delete, Operating on lines, Undo
To delete from the cursor up to the next word type: dw
{normal}
To delete from the cursor to the end of a line type: d$
{normal}
To delete a whole line type: dd
{normal}
To repeat a motion prepend it with a number: 2w
{normal}
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: 0
To undo previous actions, type: u
{normal} (lowercase u)
To undo all the changes on a line, type: U
{normal} (capital U)
To undo the undo’s, type: <C-r>
{normal}
Put, Replace, Change
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 r and then the character you want to have there.
The change operator allows you to change from the cursor to where
the motion takes you. Type ce
{normal} to change from the cursor to the
end of the word, c$
{normal} to change to the end of a line, etc.
The format for change is:
c [number] motion
Cursor location and file status, Search, Matching parentheses search, Substitute
<C-g>
{normal} displays your location and the file status.
G
{normal} moves to the end of the file.
number G
{normal} moves to that line number.
gg
{normal} moves to the first line.
Typing /
{normal} followed by a phrase searches FORWARD for the phrase.
Typing ?
{normal} followed by a phrase searches BACKWARD for the phrase.
After a search type n
{normal} to find the next occurrence in the same
direction or N
{normal} to search in the opposite direction.
<C-o>
{normal} takes you back to older positions, <C-i>
{normal} to
newer positions.
Typing %
{normal} while the cursor is on a (,),[,],{, or } goes to its
match.
To substitute new for the first old in a line type
:s/old/new
To substitute new for all ‘old’s on a line type
:s/old/new/g
To substitute phrases between two line #’s type
:#,#s/old/new/g
To substitute all occurrences in the file type
:%s/old/new/g
To ask for confirmation each time add ‘c’
:%s/old/new/gc
Execute external command, More on writing files, Selecting text to write, Retrieving ane merging files
Some useful examples are:
:!ls
{vim} - shows a directory listing
:!rm FILENAME
{vim} - removes file FILENAME
:w FILENAME writes the current Neovim file to disk with name FILENAME.
v motion :w FILENAME saves the Visually selected lines in file FILENAME.
:r FILENAME retrieves disk file FILENAME and puts it below the cursor position.
:r !dir reads the output of the dir command and puts it below the cursor position.
Open, Append, Another way to replace, Copy and paste, Set option
Type o
{normal} to open a line BELOW the cursor and start Insert mode.
Type O
{normal} to open a line ABOVE the cursor.
Type a
{normal} to insert text AFTER the cursor.
Type A
{normal} to insert text after the end of the line.
The e
{normal} command moves to the end of a word.
The y
{normal} operator copies text, p
{normal} pastes it.
Typing a capital R
{normal} enters Replace mode until <Esc>
{normal} is
pressed.
Typing “:set xxx” sets the option “xxx”. Some options are:
‘ic’ ‘ignorecase’ ignore upper/lower case when searching ‘is’ ‘incsearch’ show partial matches for a search phrase ‘hls’ ‘hlsearch’ highlight all matching phrases
You can either use the long or the short option name.
:set noic
:set invic
Getting help, Create a startup script, Completion
Type :help
{vim}
or press <F1>
{normal} or <Help>
{normal} to open a help window.
Type :help TOPIC
{vim} to find help on TOPIC.
Type <C-w><C-w>
{normal} to jump to another window
Type :q
{vim} to close the help window
Create an init.vim startup script to keep your preferred settings.
While in command mode, press <C-d>
{normal} to see possible completions.
Press <Tab>
{normal} to use one completion.