Transferred from: http://www.cnblogs.com/mahang/archive/2011/09/01/2161672.html
Just started to learn to use Linux, the VI command is not very familiar with the online transfer of an article.
The VI Editor is the standard editor for all UNIX and Linux systems, and its power is not inferior to any of the latest text editors, here is simply a brief introduction to its usage and a small number of instructions. Because the VI editor is exactly the same for any version of UNIX and Linux systems, you can learn more about it in any other place where VI is introduced. VI is also the most basic text editor in Linux, after learning it, you will be in the world of Linux unimpeded.
1, VI of the basic concept
Basically, vi can be divided into three states, namely command mode, insert mode (and bottom line mode), the function of each mode is as follows: 1) command-line mode to control the movement of the screen cursor , delete characters, words, or lines, move and copy a section and enter insert mode, or go to last line mode. 2) Insert mode is only available for text input, and press "esc" to return to command line mode. 3) bottom row mode (last lines) Save or exit VI, or you can set the editing environment, such as searching for strings, listing line numbers ... such as In general, however, we simplify the VI into two modes when we use it, that is, the bottom row mode (last line mode) is also counted as the command-line pattern.
2, VI of the basic operation
A) Enter VI after the system hint sign VI and file name, go to the VI Full screen editing screen: $ VI myfile
However, it is important to note that after you enter VI, you are in command mode and you want to switch to insert mode to enter text. First Use VI people will want to use the next key to move the cursor, the result of the computer has been a beep, the gas to death, so enter the VI, do not move, switch to "insert mode" and then! b) switch to insert mode to edit the file in "command mode" click the letter "i" can enter "Insert Mode", then you can start to enter the text. c) Insert switch You are currently in "Insert Mode", you can only enter text, if you find the wrong word! To move back with the cursor key, delete the word, then click the "esc" key to go to "command mode" and then delete the text. d) Exit VI and save the file under Command mode, click the ":" colon key to enter "last line mode", for example:: w filename (enter "w filename" to save the article with the specified file name filename): w Q (Input "wq", disk and Exit VI): q! (Enter q!, do not save the mandatory exit VI)
3. Command mode function key
1). Insert mode press "i" to switch into insert mode "insert mode", press "I" to enter insert mode is to start the input file from the cursor's current position; a"enters insert mode, the text is entered from the next position at the current cursor position, and when"o"enters insert mode, a new line is inserted and the text is entered from the beginning of the beginning.  2). Switch from Insert mode to command-line mode press the "esc" key.  3). Move the cursor vi can be directly with the cursor on the keyboard to move up and down, but the normal VI is a lowercase English letter "h", "j", "k", "l", respectively, control the cursor left, bottom, upper, and right one grid. Press "ctrl"+"b": The screen moves one page to the back. Press "ctrl"+"f": The screen moves one page to the front. Press "ctrl"+"u": The screen moves the half page toward the back. Press "ctrl"+"d": The screen moves the half page toward the front. "0" by number: Moves to the beginning of the article. Press "g": Move to the end of the article. Press "$": Moves to the end of the line where the cursor is located. Press "^": Move to the beginning of the line where the cursor is located press "w": The cursor jumps to the beginning of the next word by pressing "e": The cursor jumps to the end of the next word by "b": The cursor goes back to the beginning of the previous word by pressing "#l": the cursor moves to the first # position of the line, such as: 5l,56l.  4). Delete text "x": Each time you press, delete the "back" character at the cursor location. #x: For example, "6x" represents the "after" 6 characters of the location where the cursor was deleted. "x": Uppercase X, each time it is pressed, deletes the "front" character at the location of the cursor. "#X": for example, "20x" represents the "front" 20 characters of the location where the cursor was deleted. "dd": Delete the line where the cursor is located. "#dd": Deletes the # line 5 from the line where the cursor is located. Copy "yw": Copies the characters from the cursor to the end of the word into the buffer. "#yw": Copy the # Word to buffer "yy": Copy the row of the cursor to the buffer. "#yy": for example, "6yy" represents a copy of 6 lines of text from the line where the cursor is located. "p": Paste the characters in the buffer to the cursor location. Note: All copy commands related to "Y" must be mated with "P" to complete the copy and paste function.  6). Replace "r": Replaces the character at which the cursor is located. "r": Replaces the character where the cursor is located until the "esc" key is pressed.  7). Reply to Last action "u": If you mistakenly execute a command, you can press "u" immediately to go back to the previous action. Multiple replies can be performed by pressing "U" multiple times.  8). Change "cw": Change the word at the end of the cursor to "c#w": For example, "c3w" represents a change of 3 word 9). Jumps to the specified line "ctrl"+"g" lists the line number of the row where the cursor is located. "#G": for example, "15g", which means moving the cursor to the beginning of the 15th line of the article.
4. Next line Mode command brief
Before using "last line mode", remember to press "esc" to make sure you are under "command mode" and then press ":" Colon to enter "last line mode".
A) List line numbers
"set nu": After you enter "set nu", the line numbers are listed before each line in the file.
B) jump to a line in the file
The "#":"#" number represents a number, enter a number after the colon, and then press ENTER to jump to the line, such as entering the number 15, and then enter, you will jump to the 15th line of the article.
C) Find characters
"/Keyword: First press the"/"key, and then enter the character you want to look for, if the first keyword is not what you want, you can always press"n"will look back to the keyword you want.
"? keyword": Press "?" first Key, and then enter the character you want to find, if the first keyword is not what you want, you can always press "n" will look forward to the keyword you want.
D) Save the file
"w": Enter the letter "w" the colon to save the file.
E) Leave VI
"q": Press "q" is to exit, if you cannot leave VI, can be "q" followed by a "!" Forced to leave VI.
"qw": Generally recommended to leave, use with "w", so you can also save the file when exiting.
5. VI Command List
1. The following table lists the functions of some keys in the command mode:
H
Move left cursor one character
L
Move the cursor one character to the right
K
Move the cursor up one line
J
Move the cursor down one line
^
Cursor moves to the beginning of the line
0
Number "0", the cursor moves to the beginning of the article
G
Cursor moves to the end of the article
$
Move cursor to end of line
Ctrl+f
Flip the screen forward
Ctrl+b
Flip the screen backwards
Ctrl+d
Turn Half-screen forward
Ctrl+u
Turn Back half screen
I
Insert a character before the cursor position
A
The next character at the cursor position begins to increment
O
Insert a new row, starting at the beginning of the line
Esc
Fallback from input state to command state
X
Delete the character following the cursor
#x
# characters after the cursor is deleted
X
(uppercase x), delete the character in front of the cursor
#X
Delete the # characters before the cursor
Dd
Delete the line where the cursor is located
#dd
Remove the # line from the number of lines that the cursor contains
yw
Copy a word where the cursor is located
#yw
Copy the # Word where the cursor is located
Yy
Copy a row where the cursor is located
#yy
Copy the # line from the number of lines where the cursor is located
P
Paste
U
Cancel operation
cw
Change a word in the position of your cursor
#cw
Change the # Word where the cursor is located
2, the following table lists some instructions in the line command mode
W filename
Save the file you are editing as filename
WQ filename
Save the file being edited as filename and exit VI
Q!
Discard all changes, exit VI
Set Nu
Show line Numbers
Or?
Find, enter what you are looking for in/after
N
with/or, if the search is not the keyword you are looking for, press N or backwards (with/to) or forward (with?) to continue looking until you find it.
For the first use VI, there are a few notes to remind:
1. When you open a file with VI, you are in command mode, and you want to switch to insert mode to enter text. Toggle method: Click on the letter "i" "Command mode" to enter "Insert Mode", then you can start to enter the text.
2, after editing, you need to switch from insert mode to command line mode in order to save the file, switch method: Press the "esc" key.
3. Save and exit the file: Enter in command mode: WQ! (Don't forget to wq the front:)