Vim三种模式
1. 普通模式
进行文本输入
2. 命令行模式:
- 删除
x //删除光标右边的字符
X //删除光标左边的字符
dd //删除(剪切)光标所在整行
5dd //删除(剪切)从光标处开始的后5行
D //删除从当前光标到本行行尾
J //删除本行和下一行之间的换行符(合并两行)
- 撤销
u //撤销上一个命令对编辑缓冲区的修改
U // 一次撤销对当前行的所有操作
- 复制
yy // 复制光标所在整行
5yy //复制从光标处开始的后5行
- 粘贴
p //将之前删除(dd)或复制(yy)过的数据粘贴到光标后面
3. 行尾模式:
- 保存退出
:w //保存
:q //退出
:q! //强制退出(不修改内容)
:wq! //强制保存退出
:x //退出并保存
:set nu //显示行号
:set nonu //不显示行号
:命令 //执行命令
:整数 //跳转到该行
- 替换字符串
:s/one/two //将当前光标所在行的第一个 one 替换成 two
:s/one/two/g //将当前光标所在行的所有 one 替换成 two
:%s/one/two/g //将全文中的所有 one 替换成 two
搜索字符串
?字符串 //在文本中从下至上搜索该字符串
/字符串 //在文本中从上至下搜索该字符串
光标移动(在命令行模式下)
Home //将光标移动到行首
End //将光标移动到行尾
I //将光标移动到行首,开启输入模式
i //在光标前插入
A //将光标移动到行尾,开启输入模式
a //在光标后插入
O //在当前行上一行生成新的一行开启输入模式
o //在当前行下一行生成新的一行开启输入模式
r //替换一个字符
R //替换多个字符
w //下一个单词首部
W //下一个以空格为界限的单词首部
e //下一个单词的尾部
E //下一个以空格为界限的单词尾部
b //上一个单词首部
B //上一个以空格为界限的单词首部
0 $ //行首行尾
H //将光标移动到屏幕顶端
M //将光标移动到屏幕中间
L //将光标移动到屏幕底部
{ //将光标移动到当前段落首
} //将光标移动到当前段落尾
( //将光标移动到当前句子的首部
) //将光标移动到当前句子的尾部
1G //将光标移动到文件第一行行首
G //将光标移动到文件最后一行行首
nG //将光标移动到第n行行首
:n //同上
n+ //将光标向下移动n行
n-- //将光标向上移动n行