One, vim repeat command 1. Repeat the last command
In normal mode .
(decimal point) means the last command operation is repeated
Copy test files to a local directory
$ cp /etc/protocols .
Open a file for editing
$ vim protocols
Normal mode input x
, delete the first character, the input .
(decimal point) will be deleted again a character, in addition to also can be repeated dd
delete operation
2. Execute commands of the same number of times
Enter Normal mode input N<command>
, n indicates the number of repetitions, and the following is the practice:
Open file file for editing
$ vim protocols
Below you can do the following exercises in turn:
- Input
10x
, delete 10 consecutive characters
- Input
3dd
, 3 lines of text will be deleted
In normal mode, you can also dw
daw
delete a word with or (delete a word), so you can easily associate (n with the dnw
corresponding number ) to delete n words
Ii. Quick jump of cursors
In normal mode, the following command allows the cursor to be quickly reversed to the specified position, we discuss the rapid implementation of the inline jump and in-line jump
1. Jump between rows
Command |
Description |
nG (n shift+g) |
Cursor moves to nth row (if no line number is displayed by default, enter command mode first :set nu to display line numbers) |
gg |
Cursor moves to the first row |
G (SHIFT+G) |
To the last line |
Let's practice it:
Open the practice document with VIM
$ vim protocols
Do the following exercises in turn:
- Quickly jump to line 9th and delete the row
- Go back to the first line, delete 8 rows down
- Jump to the end of the document and delete the row
tip: After you have completed the jump, you can use the Ctrl+o
quick to go back to the previous (before the jump) cursor position , this technique is very practical, such as when you write code, suddenly think of a bug, need to change, this time you jump over to change, just need to press Ctrl+o
You can go back to where you were before. Vim will be waiting for you to explore with a lot of similar tips.
2. In-line jump
In normal mode, use the following command to jump within a line in a word
Command |
Description |
w |
To the beginning of the next word |
e |
To the end of the next word |
b |
To the beginning of the first word |
ge |
To the end of the previous word |
0 Or^ |
to the wardrobe. |
$ |
To end of line |
f<字母> |
Search backwards < letters > and jump to the first matching position (very useful) |
F<字母> |
Search forward < letters > and jump to the first matching position |
t<字母> |
Search backwards < letters > and jump to a letter before the first matching position (not used) |
T<字母> |
Search forward < letter > and jump to a letter after the first matching position (not used) |
Do the following exercises in turn:
- In normal mode, jump to a line, use
w
jump to the beginning of a word, and then use dw
the word delete
- In normal mode, use
e
jump to the end of a word and use ~
the letter that contains the cursor to capitalize or lower case
Third, copy paste and cut 1. Copy and paste text
Open the file into normal mode practice the above command, you can now feel free yy
to
$ vim protocols
2. Cut and paste
In fact, the dd
deletion of the command is cut, each time you dd
delete the contents of the document can be used p
to paste, also this allows us to achieve a very refreshing function-exchange up and down line:
ddp
, so simple, that it implements the fast Exchange cursor where the line is with the line below it
Experiment experience: familiar with the command. In normal mode. (decimal point) indicates that the last command operation was repeated. For example: Enter x in normal mode, delete the first character, enter. (The decimal point) will delete one character again, or you can repeat the deletion of the DD. NG (n shift+g) GG g (shift+g) Ctrl+o, if a bug needs to be modified, simply press Ctrl+o to return to the previous position.
I. Substitution and revocation of characters (undo action) 1. Replace and revoke (undo) command
Both the Replace and undo commands are for normal mode operations
Command |
Description |
r +< to replace letters > |
Replace the letter that contains the cursor with the specified letter |
R |
Continuous replacement until you press theEsc |
cc |
Replace the entire row, which deletes the row of the cursor and enters insert mode |
cw |
Replace a word, delete a word, and enter insert mode |
C Uppercase |
Replace cursor later to end of line |
~ |
Reverses the case of a cursor in the same letter |
u N |
Undo One or N operations |
U Uppercase |
Undo all changes to the current line |
Ctrl+r |
Redo, that is, undo undo operation |
To open a file for editing:
$ vim practice_2# 输入以下文本www.shiyanlou.com
Then do the following:
- Input
11G
, jump to 11 lines
- Enter FA to jump to the first
a
character
- Input
r
, and the input b,a character is replaced by the B character (practical)
- Enter a
R
replacement character, enter a new string, press ESC to return to normal mode (useful)
- Enter
cc
replace whole line character, enter new string, press ESC to return to normal mode after entering
- Enter
cw
replace one English word (word), press ESC to return to normal mode (useful)
- Input
~
, the case of the character in which the rollover cursor is located
- The input is
C
replaced with the end of the line, that is, the word will be replaced after the cursor is in place, press ESC to return to normal mode
- Enter
u
undo Last action
Second, fast indent 1. Use commands to quickly adjust indent operations
This section learns how to indent quickly in vim and indent operations are effective in normal mode
Open a file for editing
$ vim protocols
- Normal mode input
15G
, jump to 15 lines
- Input entire line in normal mode
>>
indent right (used to format code super cool)
- Enter the entire line in normal mode to the
<<
left fallback
- Normal mode enter
:
command line mode to shiftwidth
set values to control the number of characters for indentation and fallback
2.shiftwidth command
shiftwidth
The command refers >>
to the indentation generated by the previous command (which can be abbreviated sw
). Enter :
command line mode to set values in normal mode to control the number of characters in shiftwidth
indentation and fallback get current setpoint
:set shiftwidth?
Set indent to 10 characters
:set shiftwidth=10
Enter ESC
back into normal mode and try again to >>
see if the indent changes
3. Adjust the text position
Command line mode enter :ce
(center) command to center the contents of the bank
:ce
Command line mode enter :ri
(right) command to make our text
:ri
Command line Mode enter: le
(left) command to leave the contents of the bank
:le
Third, find 1. Quick Find
Enter Normal mode /
and then type the string you want to find and press ENTER to find it. ?
is the same as the /
function, but ?
looks up and /
down. After entering the lookup, the input n
and N
can continue to find n
the expression to continue the lookup, N
reverse Lookup
2. Quick Find Exercises
Use VIM to open a file for editing
$ vim protocols
- Normal mode input
/icmp
find string ICMP
- Normal mode Enter to
n
find the next ICMP
- Normal mode input
?tcp
up lookup string TCP
- Normal mode input
N
to find the last occurrence of TCP
3. Advanced Search
- Enter
\*
a word in normal mode to find where the cursor is located
- Normal mode input
\#
Ibid, but \*
forward (up) to find, #则是向后 (bottom) find
- Normal mode
g\*
\*
, but partially matches the word
- Normal mode
g\#
\#
, but partially matches the word
n
N
The Continue find command for the above lookup is still available.
Experimental experience: Learn to execute commands of the same number of times, replace and Undo commands are for normal mode operation
Command r+< to replace the letter > R cc Description replace the letter with the specified letter with the word, until you press ESC to replace the entire row, deleting the row of the cursor and entering insert mode.
One, multi-file editing 1. Use Vim to edit multiple files
There are two forms of editing multiple files, one being a parameter that is used before entering Vim is multiple files. Another is to enter vim and then edit the other files. Create two new files and edit them simultaneously
$ vim 1.txt 2.txt
Default Access 1.txt
to file editing interface
- Command line mode input
:n
edit 2.txt file, you can !
:n!
Force switch, the input of a file is not saved, just switch to another file
- Command line mode input
:N
edit 1.txt file, can be !
forced to :N!
switch, the input in the previous file is not saved, just switch to another file
2. Open a new file after entering vim
- Command line mode enter
:e 3.txt
open new file 3.txt
- Command line mode input
:e#
back to the previous file
- command-line mode input
:ls
to list previously edited documents
- Command line mode input
:b 2.txt
(or number) can be directly into the file 2.txt edit
- Enter
:bd 2.txt
(or number) in command-line mode to delete a file item from a previously edited list
- Command line mode input
:e! 4.txt
, new open file 4.txt, discard the file being edited
- Enter
:f
The file name you are editing in command line mode
- Input in command line mode
:f new.txt
, change the file being edited name to New.txt
3. Recover files
If the document is not saved due to a power outage, you can use the recovery method, enter the vim -r
document, input :ewcover 1.txt
to restore
$ vim -r 1.txt
Second, Visual Mode 1. Introduction to Visual Mode commands
- Enter in normal mode
v
(lowercase), enter the character selection mode, you can move the cursor, where the cursor will be selected. The selection is deselected when the V-meeting is pressed again.
- In normal mode input
Shift+v
(lowercase), enter the line selection mode, press V will be the entire row selection, you can move up and down the cursor select more rows, again, press once Shift+v
can be deselected.
- In normal mode
Ctrl+v
(lowercase), this is the area selection mode, you can select the rectangular region, and then cancel the selection by one time Ctrl+v
.
- Enter
d
Delete selection area in normal mode
- Enter
y
Copy selection area contents in normal mode
2. Visual Mode Command Practice
Copy the practice file to the current directory
$ cp /etc/protocols .
Open the practice file
$ vim protocols
- In normal mode
9G
, jump to line 9th, enter Shift+v
(lowercase v), enter the visual mode for row selection, select 5 rows, press >>
indent, indent 5 rows into oneshiftwidth
- Enter in normal mode
Ctrl+v
(lowercase v), enter visual mode for rectangular area selection, select the first column character and then x
delete the whole column
Third, Windows Operation 1. Introduction to Windows operation
Vim can open multiple windows in one interface for editing, which are called Vim windows. There are many ways to open a method, for example, you can use the command line mode input to :new
open a new Vim window, and enter the window to edit a new file (Normal mode Ctrl+w
can also be entered, but Ctrl+w
in Chrome will be closed tab page with Chrome shortcut keys conflict, So with this shortcut you can practice in IE or other browsers, in addition to the :new
command, the following list of methods can also be used in command mode or Normal mode to open a new window:
- Command-line mode enter
:sp 1.txt
open new Landscape window to edit 1.txt
- Command-line mode
:vsp 2.txt
to open a new vertical window to edit 1.txt
Ctrl-w s
split the current window into two horizontal windows in normal mode
Ctrl-w v
split the current window into two vertical windows in normal mode
- In normal mode
Ctrl-w q
, it is: Q ends the split window. If you have input in a new window, you need to use the mandatory character! namely: q!
Ctrl-w o
Open a window in normal mode and hide all previous windows
Ctrl-w j
move to the following window in normal mode
Ctrl-w k
move to the upper window in normal mode
Ctrl-w h
move to the left window in normal mode
Ctrl-w l
move to the right window in normal mode
Ctrl-w J
move the current window below in normal mode
Ctrl-w K
move the current window to the top in normal mode
Ctrl-w H
move the current window to the left in normal mode
Ctrl-w L
move the current window to the right in normal mode
Ctrl-w -
reduce the height of the window in normal mode
Ctrl-w +
increase the height of the window in normal mode
2. Windows Operation exercises
Open the practice file
$ vim 1.txt
- command-line mode input
:new
open a new vim window
- Command-line mode enter
:sp 2.txt
open new Landscape window to edit 2.txt
- Command-line mode enter
:vsp 3.txt
open new Landscape window to edit 3.txt
- If you use a non-Chrome browser, you can use
Ctrl+w
the jump between windows
- Enter
:q!
exit multi-window editing in command-line mode of different windows
Iv. document Encryption 1. Create an encrypted document
$ vim -x file1
Enter your password to confirm the password so that the next time you open, VIM will ask you to enter the password
V. Executing external commands in vim
Enter command-line mode !
to execute external shell commands
:!ls
Used to display the contents of the current directory
:!rm FILENAME
Used to delete a file named filename
:w FILENAME
Save the file you are editing in the current VIM as a filename file
Vi. viewing Help in the Help system 1.vim
- Press
F1
vim
to open your own preset help document in normal mode
- Enter
:h shiftwidth
shiftwidth
The open Help file in command line mode
- Input
:ver
display version and parameters in command line mode
Seven, function set 1.vim function setting
Can be set when editing the file function settings, such as the command line mode input :set nu
(display number of lines), set value exit Vim will not be saved. To permanently save the configuration, you need to modify the Vim configuration file. Vim configuration file ~/.vimrc
, you can open the file for modification, but be careful not to affect the normal use of vim
2. Get the current settings
- Enter
:set
or :se
display all modified configurations in command line mode
- command-line mode input
:set all
displays all the SetPoint values
- Command-line mode
:set option?
to enter a setting value that displays option
- Command line mode to enter the
:set nooption
cancel current set value
Description of the 3.set function
:set autoindent(ai)
automatic indentation of input settings in command line mode
- Command line mode input
:set autowrite(aw)
set AutoArchive, default not open
- Enter or in command line
:set background=dark
mode light
, set the background style
- Command line mode input
:set backup(bk)
set automatic backup, default not open
- Command line mode input
: set cindent(cin)
set C language style indent
Experimental experience: Indent operations are all in normal mode effective commands >> << indicates that the entire line is indented to the right (used for formatting code super Cool) the entire row to the left fallback you can use the Shiftwidth command to control the size of the indent. Enter in normal mode/then type the string you want to find and then press ENTER to find it. Same AS/function, just? is to look up and/or down. After entering the lookup, enter N and N to continue to find N to continue finding, n reverse lookup, adjust text position
Input in command line mode: CE command to center the contents of the Bank: the RI (right) command causes the bank text to be entered in the left: RI command-line mode: The LE (leave) command allows the bank to keep its contents on the side: le; many commands require practice.
Third week vim Introductory learning 2