1、光标移动:
(1)、NG -> 移动到第N行,或者使用:N
(2)、gg -> 移动到第一行
(3)、G -> 移动到最后一行
(4)、单词移动:
w -> 移动到下一个单词的开头
e -> 移动到下一个单词的结尾 (注:使用小写的e和w,如果认为单词由字母,数字,下划线组成,即程序变量,否则用大写的E和W,若认为单词由blank字符分隔,即程序语句)
(5)、%匹配括号移动,包括( , { , [
(6)、#和*:匹配光标当前所在单词,#表示移动到上一个匹配单词,*表示移动到下一个匹配单词
2、复合操作:
(1)、很多命令都可以采用如下格式进行复合操作:
<start postion><command><end position>
例如0y$命令意味着:
0 -> 操作的开始位置为行头
y -> 进行拷贝操作
$ -> 操作的结束位置为行尾
再如,ye则表示从当前位置拷贝到本单词的最后一个字符,y2/foo则可以用来拷贝两个"foo"之间的字符串。
3、单行操作:
(1)、0 -> 移动到行头
(2)、$ -> 移动到行尾
(3)、^ -> 移动到本行第一个非blank字符
(4)、g_ -> 移动到本行最后一个非blank字符
(5)、fa -> 移动到下一个为a的字符处,同时可以将a改为任何其他字符
(6)、t, -> 移动到逗号前的第一个字符,同时可以将','改为任何其他字符
(7)、3fa -> 查找当前行第三个出现的a
(8)、F和T -> 移动方向和f,t相反
4、块操作: Ctrl + v (写注释很有用)
行前添加内容:"Ctrl + v" 进入块操作模式 -> 移动光标选定块大小 -> "I" 进入插入模式 -> 输入内容 -> 按ESC键使每行生效
行后添加内容:"Ctrl + v"进入块操作模式 -> 移动光标选定块大小 -> “$” 移动到行尾 -> 输入内容 -> 按ESC键使每行生效
5、自动补齐: Ctrl + p 或者 Ctrl + n
在Insert模式下,输入单词的开头,按Ctrl + p 或者 Ctrl + n 自动补齐功能出现
6、分屏操作:
(1)、使用大写的O参数来垂直分屏:(小写的o为水平分屏)
vim -O file1 file2 file3...
(2)、屏幕变大: [Ctrl + w] +
(3)、屏幕变小:[Ctrl + w] -
参考:
http://coolshell.cn/articles/5426.html
http://coolshell.cn/articles/1679.html