vimtutor给出的学习vim的建议:不要记忆,在使用中学习。
在shell中可以输入 vimtutor
开启vim练习模式
基础操作:
在vim的Normal模式下x
用于删除光标所在处的字母,i
用于在光标所在处插入字母,a
(append)可以在光标后一位添加字母,u
(undo)撤销
Lesson 1 SUMMARY
1. The cursor is moved using either the arrow keys or the hjkl keys.
h (left) j (down) k (up) l (right)
2. To start Vim from the shell prompt type: vim FILENAME <ENTER>
3. To exit Vim type: <ESC> :q! <ENTER> to trash all changes.
OR type: <ESC> :wq <ENTER> to save the changes.
4. To delete the character at the cursor type: x
5. To insert or append text type:
i type inserted text <ESC> insert before the cursor
A type appended text <ESC> append after the line
NOTE: Pressing <ESC> will place you in Normal mode or will cancel
an unwanted and partially completed command.
删除操作:
d
+ motion
dw
删除光标位置到当前单词的最末位置(包括空格)
de
删除光标位置到当前单词的最末位置( 不包括空格)
d$
删除当前位置到本行末尾
使用数字进行移动:
2w
光标向前两位
3e
光标向前三个单词
0
(🌟)光标移动至一行开头
使用数字进行删除
d2w
删除向前的两个单词
对每一行进行操作
dd
删除一行
2dd
删除本行和下一行(两行)
撤销(undo)
u
撤销修改
U
撤销一整行的修改
CTRL-R
撤销撤销操作(undo the undo’s)
Lesson 2 SUMMARY
1. To delete from the cursor up to the next word type: dw
2. To delete from the cursor up to the end of the word type: de
3. To delete from the cursor to the end of a line type: d$
4. To delete a whole line type: dd
5. To repeat a motion prepend it with a number: 2w
6. The format for a change command is:
operator [number] motion
where:
operator - is what to do, such as d for delete
[number] - is an optional count to repeat the motion
motion - moves over the text to operate on, such as w (word),
e (end of word), $ (end of the line), etc.
7. To move to the start of the line use a zero: 0
8. To undo previous actions, type: u (lowercase u)
To undo all the changes on a line, type: U (capital U)
To undo the undo's, type: CTRL-R
放置命令
使用dd
可以删除一整行,被删除的内容放入 vim register中,可以使用p
指令放置vim register中被删除的内容。
Lesson 3 SUMMARY
1. To put back text that has just been deleted, type p . This puts the
deleted text AFTER the cursor (if a line was deleted it will go on the
line below the cursor).
2. To replace the character under the cursor, type r and then the
character you want to have there.
3. The change operator allows you to change from the cursor to where the
motion takes you. eg. Type ce to change from the cursor to the end of
the word, c$ to change to the end of a line.
4. The format for change is:
c [number] motion
Lesson 4 SUMMARY
1. CTRL-G displays your location in the file and the file status.
G moves to the end of the file.
number G moves to that line number.
gg moves to the first line.
2. Typing / followed by a phrase searches FORWARD for the phrase.
Typing ? followed by a phrase searches BACKWARD for the phrase.
After a search type n to find the next occurrence in the same direction
or N to search in the opposite direction.
CTRL-O takes you back to older positions, CTRL-I to newer positions.
3. Typing % while the cursor is on a (,),[,],{, or } goes to its match.
4. To substitute new for the first old in a line type :s/old/new
To substitute new for all 'old's on a line type :s/old/new/g
To substitute phrases between two line #'s type :#,#s/old/new/g
To substitute all occurrences in the file type :%s/old/new/g
To ask for confirmation each time add 'c' :%s/old/new/gc
Lesson 5 SUMMARY
1. :!command executes an external command.
Some useful examples are:
(MS-DOS) (Unix)
:!dir :!ls - shows a directory listing.
:!del FILENAME :!rm FILENAME - removes file FILENAME.
2. :w FILENAME writes the current Vim file to disk with name FILENAME.
3. v motion :w FILENAME saves the Visually selected lines in file
FILENAME.
4. :r FILENAME retrieves disk file FILENAME and puts it below the
cursor position.
5. :r !dir reads the output of the dir command and puts it below the
cursor position.
替换操作:
按下R
键,然后可以按照光标顺序,依次向下更改字母。
在v
的VISUAL状态下选中文本,按下y
可以复制当前内容在剪贴板,然后在合适的位置按下p
按钮。
按下/
可以进入查找模式,后面输入想要查找的字母
Lesson 6 SUMMARY
1. Type o to open a line BELOW the cursor and start Insert mode.
Type O to open a line ABOVE the cursor.
2. Type a to insert text AFTER the cursor.
Type A to insert text after the end of the line.
3. The e command moves to the end of a word.
4. The y operator yanks (copies) text, p puts (pastes) it.
5. Typing a capital R enters Replace mode until <ESC> is pressed.
6. Typing ":set xxx" sets the option "xxx". Some options are:
'ic' 'ignorecase' ignore upper/lower case when searching
'is' 'incsearch' show partial matches for a search phrase
'hls' 'hlsearch' highlight all matching phrases
You can either use the long or the short option name.
7. Prepend "no" to switch an option off: :set noic