vim Text Editor
vim is a very powerful and versatile modal text editor, it is used by novice, advanced and very experienced users also, in their day to day work or tasks. I might look difficult to understand the way this text editor works, but trust me, itās not hard at all.
From the start you must know that vim has four modes:
insert mode ā in which you type text as in any other editor (to enter in this mode press āiā key);
normal mode ā provides ways to manipulate and navigate text (to enter in this mode press āESCā key);
visual mode ā allow to select text and to decide what to do with it (to enter in this mode press āvā key);
ex mode
At the top of the editor is a status bar which displays the mode that is active.
In normal mode you have to use h, j, k and l keys to move de cursor.
w ā moved to the start of the next word
e ā moves to the end of the word
b ā moves at the beginning of the word
In vim movement keys can be combined with numbers:
5e ā the same as pressing e key 5 times
Text can be inserted multiple times:
55i# ESC ā inserts # for 55 times and returns to ānormal modeā
To find a character or string and to move to next/previous one you must use f key:
f key can be combined with a number, for example 5fy will find the 5th occurrence of āyā character.
In text that is structured with parentheses ( ), [ ], { }, the symbol % (SHIFT + 5) can be used to match them.
To search for a string press / or ? and then the text you are looking for, use n and N to navigate to next/previous occurrence of it.
To find the next occurrence of the word under the cursor press *(SHIFT+8) and to find the previous one press #(SHIFT+3).
To get to the beginning of a line press 0 (zero) and to get to the end of it press $ (SHIFT+4).
To get to the beginning of a file press gg, to get to the end of it press G. H key moves the cursor to the top of the screen, M key to the middle of the screen and L to the bottom of the screen. ^U command can be used to move up half a screen, ^D to move down half a screen, ^F is for page down and ^B for page up.
To go directly to a line number press the number of it and G.
To insert text on a new line press o or O (this is not zero), editor will enter in āinsert modeā, after you finish, press ESC to get back to ānormal modeā.
The keys x deletes the character under the cursor.
The d key is used to delete text and it can also be combined with other keys for example d5e deletes the first 5 words at the right of the cursor. d key also copies the content and can be pasted to other location with p key.
To replace only one character without entering in āinsert modeā, move the cursor under the character that must be replaced, press r key and then the character that you wish to replace the previous one.
S key is used to delete all the content on the current line and start to insert new text.
To repeat the previous command you have just to press . key.
Other very useful commands in vim are:
:q = quits (if no alteration has been made to the file)
:q! = quits without saving
:w = saves the file
:update = saves the file only it has been modified
:saveas ~path/to/folder/ = saves the file to your chosen location
These commands can be also combined, for example :wq saves the file then quits.
ZZ and š” = acts like :wq, saves and the quits
u = undo
CTRL+r = redo
:help = help about commands