Published on: May 19, 2009 by Faheem P.
There are several tools available in Linux to edit a regular file. The most popular and user text file editor is VI, and VI Modified is called VIM.As part of providing Linux support services to clients, here we listing out some the useful commands in vi editor
file – use file command to know the file type
vi is very hard to learn, but really powerful
Either learn VI or learn Unix :-
VI:- VI is a vey powerful text editor. The name vi is derived from the shortest unambiguous abbreviation for the command visual in ‘ex”; the command in question switches the line editor ex to visual mode.
The VI has three mode
Going back and forth modes requires to go to command modeby pressing escape.
Arrow keys – hjkl
w – moves cursor forward by a word
b – moves cursor backward by a word
0,$ – beginning and end of line
Ctrl + f , Ctrl + b – Page UP, Page Down
Home – gg
End – G
:25, 25G – to the 25th line
% – matching braces
Insertion – I, i
Append – A, a
Insertion on a new line – O, o
Delete a single character under cursor – x
Delete a single character left of cursor – X
Delete all the stuff from cursor to end of line – D
delete 10 words – 10dw , d10w
Replace a single character – r
Undo the last change – u
To repeat last command – .
To join two lines together – J
3. Search in command mode
Search for a word downwards – /word_to_search
Search for a word upwards – ?word_to_search
Repeat the previous search forward – n
Repeat the previous search backward – N
4. Search and Replace in ex mode
Change a single character – r
Replace mode by typing over – R
Search and replace first occurence of old_word with new_word in the entire file – :%s/old_word/new_word/
Search and replace first occurence in the current line – :s/search/replace/
Search and replace all occurences in the entire file – :%s/search/replace/g
Search and replace all occurences in current line – :s/search/replace/g
Search and replace the first occurence of old_word between n1 and n2 with new_word – :n1,n2s/old_word/new_word/
Search and replace all occurences of old_word between n1 and n2 with new_word – :n1,n2s/old_word/new_word/
Search and replace all occurences of old_word with new_word, but prompt for confirmation – :1,$s/old_word/new_word/gc
Cut the entire line – dd
Copy the entire line – yy
Cut the word from the current cursor position to its end – dw
Paste – p, P
Swap the adjacent lines – ddp
Cut 10 lines – 3dd
6. Exiting VI
Save in ex mode – :w
Exit in ex mode – :q
Forcefully save in ex mode = :w!
Forcefully exit in ex mode, when a change is made accidentally = :q!
Save and Exit in command mode – ZZ
Save and Exit in ex mode – :wq, 😡
Save and Exit in ex mode forcefully : wq!
7. Advanced VI to ponder with
:map to map the new defined command to a sequence of commands or keystrokes
:map Ctrl+v_Ctrl+v_Space Ctrl+v_Ctrl+f means pressing space will enable page down. Ctrl + v is to input a special character such as Esc.
Encryption – :X and disable encryption :set key=
So “Either learn VI or learn Unix” 🙂
As part of improving the quality of our Linux support services, we welcomes your feedbacks on the command box 🙂
Category : Howtos, Linux, Training