vi Editor [Command] [How To]

Basic vi commands

Command Description
TERM = terminal_name
export TERM
Setting Terminal configuration
tput init Initialize terminal as terminal_name
vi filename Open the vi text editor to edit the file filename
a Add text after the cursor
h Moves the cursor one character left
j Moves the cursor down one line
k Moves the cursor up one line
l Moves the cursor one character right
x Delete character
Carriage return
Back from the input to command mode
:w Write to the file
:q Quit Editor
:wq Write buffer to the file and exit the vi editor
ZZ Save changes to the file and exit from vi

Cursor positioning commands

Command Description
Symbol positioning
h Moves the cursor by one character to the left
l Moves the cursor one character right
BACKSPACE Moves the cursor one character left
SPACEBAR Moves the cursor one character right
fx Searches the specified character x from the right of the cursor
Fx Searches the specified character x from the left of the cursor
tx Moves the cursor on the right symbol of the specified character x
Tx Moves the cursor on the left symbol of the specified character x
; Repeats previous search symbol. The command ; remembers the character and looking for the next occurrence of character in the current row
, Repeats previous search for a character, but in the opposite direction
j Move the cursor down one line
k Moves the cursor up one line
Moves the cursor up one line, positioning it at the first symbol
+ Moves the cursor down one line, positioning it at the first symbol
Moves the cursor down one line and positioned on the first non-empty character
Line positioning
$ Move the cursor to the last character in the string
0 (zero) Move cursor to first character in string
^ Move the cursor to the first nonzero character in
Word positioning
w Moves the cursor to the beginning of next word
W Moves the cursor to the next word after space (ignores all characters except space)
e Moves the cursor to the last character in the next word .
E Moves the cursor to the last character in the word (ignores all characters except space)
b Moves the cursor to the first character of the previous word
B It is used like a command b, except that the words are separated by only space and a new line
Sentence positioning
( Moves the cursor to the beginning of the current sentence
) Moves the cursor to the beginning of the next sentence
Paragraph positioning
{ Move the cursor to the beginning of this paragraph, which is limited by an empty string
} Move the cursor to the start of the next paragraph
Positioning in window
H Move the cursor to the first line of the screen
M Move the cursor to the middle line of the screen
L Move the cursor to the last line of the screen

Moving the cursor in the vi editor

Command Description
Scrolling
^f Scrolls the screen forward to the full window. Opens new window with the text located below the current window
^d Scroll text down on the half-windows. Opens the lines below the current window
^b Scrolling the screen back to full window. Opens new window with the text located above the current window
^d Scroll text up a half window. Opens lines located above the current window
Position with the line number
1G Go to the first line in file
G Go to the last line in the file
^g Show a line number and state of the file
Search pattern
/pattern Search forward in the buffer to the first appearance of the pattern.The cursor is placed on the first chapter of pattern
?pattern Search back in the buffer before the first appearance of the pattern.The cursor is placed on the first chapter of pattern
n Repeat the last search
N Repeat last search command in reverse

Commands creating the text

Command Description
a Write the text after the cursor
A Write a text at the end of the current row
i Write the text before the cursor
I Write text before first non-zero symbol in the current row
o Write the text from the beginning of a new line below the current row
O Write the text from the beginning of a new line, located above the current row
Return the vi in command mode from text mode

Commands deleting the text

Command Description
Input mode
BACKSPACE Delete current character
1w Delete current word
@ Delete the current line of the new text or delete all new text in the current line. Command mode
u Undo the last command
U Restore the current line in the previous condition
x Delete current character
ndx Delete the n-th object of the text x
dw Delete the word above the cursor and the following space
dW Delete the word and punctuation above the cursor followed by a space
dd Delete current line
D D Remove part of string to the right of the cursor
d) Delete the current sentence from the current cursor position to the end
d} Delete the current paragraph from the current position to the end

Commands for changeing the text

Command Description
r Replace the current character
R ESCAPE Replace the characters are inserted in the ESCAPE mode
s Delete the character and add text. To end the input mode, press ESCAPE
S Replace all characters in the string
cc Replace all characters in the string
ncx Replace the n objects in text to type x (sentence, paragraph)
cw Replace the word or the remaining characters in the word with the new text
C Replace the remaining characters in the row from the cursor to end of line

Command y

Command Description
nyx Copy the n-th object of the text type x (sentence or paragraph)
yw Creating a copy of the words
yy Creating a copy of the current row
nyy Copy n lines
y) Creating a copy of the text to end of sentence
y} Creating a copy of the text before the end of paragraph
p Puts the contents of the temporary buffer, obtained by using the y

Special commands

Command Description
. Repeat the last command
j Connect the current row with the row below
^l Clear and restore the current window
~ Switch between lowercase and uppercase

Line editor commands

Command Description
: Indicates that following it command is the command of line-editor
:sh Temporary return to the shell to execute shell commands
^d Returning from a temporary shell in the current window to continue editing vi
:n Go to the n-th row of buffer
: x, yw data Write a string of numbers x to number y in the new file named “data”
:$ Go to the last line of the buffer
:.,$d Delete all rows in the buffer, starting from current to the last
:r shell.file Paste the contents shell.file after the current line in buffer

Commands to end work

Command Description
ZZ Write buffer to file, if after the last entry in the buffer changes were made, and exit from vi
:wq Write buffer to file and exit from vi
:w filename Write buffer to new file “filename”
:q Exit from vi
:q! Quit vi without recording buffer to a file

Special options of vi

Options Description
vi file1 file2 file3 Enter the three files (file1 file2 and file3) in the buffer of vi for editing
:w Save the current file and start
:n Edit next file
vi -r file1 Recover changes made in the file “file1”
view file View the file using the “read only” to prevent accidental changes to the file “file “
Tags:,

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.