vim的三种模式:
1 命令模式:vim的默认模式为命令模式,进入vim后就在此模式下,执行编辑命令,如复制、粘贴、查找、替换、及删除等操作。无论vim处于什么模式,按ESC键总会返回命令模式。
2 插入模式:在插入模式下才能输入文本,从命令模式进入插入模式有很多种命令可供选择。
3 底行模式:在命令模式下,使用 “:”(英文 冒号)进入该模式。在底行模式下可进行设置vim的命令。如显示、关闭行号等,也可执行保存、退出vim等命令。
常用的命令:
1 进入插入模式:
a 从光标后面开始添加文本
A 从光标所在行的末尾开始添加文本
i 从光标所在行的前面开始插入文本
I 从光标所在行的开始处插入文本
o 从光标所在行的下一行处开始插入文本
O 从光标所在处的上一行插入新的一行
s 删除光标所在的字符,并进入编辑模式
S 删除光标所在的行,并进入编辑模式
r 输入字符,取代光标所在的那一个字符
R 一直取代光标所在的字符,直到按下ESC键
2 删除与复制粘贴
x 删除光标处的字符
dd 删除光标所在的整行
ndd 删除光标所在行及下面的n行
D或d$ 删除光标到行尾的文本,常用于删除注释语句
d^或d0 删除光标到行首的文本
nyy 从光标所在行开始向下复制n行(n不谢,代表1次,下同)
np 从当前光标所在行下面粘贴n次
3 光标的移动
^ 光标移动到行首
$ 光标移动到行尾
Ctrl+F 向下翻一页
Ctrl+B 向上翻一页
Ctrl+D 向下翻半页
Ctrl+U 向上翻半页
gg 定位到文档头
G 定位到文档尾
H 光标定位到当前页首
L 光标定位到当前页的最后一行的行首
[n]+ 光标向后移动n行,[n]表示一个整数
[n]- 光标向前移动n行,
[n]G 光标定位到第n行行首
4 查找
/[str] 查找字符串str,[str]代表要查找的字符串,接着命令n移动到下一个找到的字符串,N移动到上一个找到的字符串
5 块操作
v 可视化块选择状态,选中块后,可对块进行删除(d)、复制(y)、剪切(x)
yy 复制光标所在的整行
[n]yy 从光标开始往下复制n行
p 将复制后的文本粘贴到光标处
u 撤销上次的操作
Ctrl+R 回复上次的操作
6 命令模式常用的命令
:set number 不显示行号
:set nonumber 显示行号
:q 在未修改文档的情况下退出
:q! 不保存退出
:w 保存
:wq 保存退出
7 部分替换(只能替换光标所在的行)
:s/[src]/[dst] /i忽略大小写 /g全部匹配
如 s/hello/world/ig 表示替换一行
:3,6 s/[src]/[dst]/ig (3-6行中找)
8 全部替换
:%s/[src]/[dst]/g 将文档中所有src的字符替换为dst字符
:%s/^ //g 将文档每一行行首的空格去掉
9 其它
:help 查看该命令的帮助提示
:%!xxd 十六进制模式
:%!xxd -r 返回文本模式
如果编辑的过程中不小心按了Ctrl+S键,vi会处于僵死的状态,按Ctrl+R组合键可以恢复
在命令模式下输入gg=G: 可以全文件代码自动对齐。