1. 插入
o 在光标下插入新行
a 在光标后插入
i 在光标前插入
O 在光标上一行插入新行
A 在光标行尾插入
I 在光标行首插入
2.光标定位
gg 到第一行行首
G 到最后一行行首
28 G 定位到28行
:28 定位到28行
$ 定位到行尾
^ 定位到行首
3. 删除命令
x 删除光标所在处字符
10x 删除光标所在处起向右的10个字符
dd 删除光标所在行
3dd 删除光标所在处起向下的3行
dG 删除光标所在行及下面所有行
D 删除光标后所有字符
:100,300 d 删除100-300行
4. 复制和剪切
yy 复制当前行
p 粘贴到光标所在行下
P 粘贴到光标所在行上
3yy 复制从当前行开始向下3行(包含当前行)
dd 剪切当前行
4dd 剪切当前行开始向下4行(包含当前行)
5. 替换
R 从光标所在处开始替换
r 替换光标所在处的一个字符
u 撤销上次操作
ctrl + r 恢复撤销
:set ic #区分大小写 :set noic #不区分大小写
:%s /ab /cd /g #将文件中所有ab替换为cd,每次替换不提示
:%s /ab /cd /c #将文件中所有ab替换为cd,每次替换都提示
:100,200 s /ab /cd /g #在100-200行区间查找替换
6.搜索
/关键字 回车 #查找文件中关键字
7.导入
:r 文件名 #将文件内容导入到正在编辑的文件
:! 命令 #不退出vim,执行其他命令
8.撤销和恢复撤销
u #撤销上次操作
Ctrl+r #恢复撤销
9. 常见其他操作
(1)将执行结果导入当前编辑的文件
:r ! date #在当前编辑文件中导入date结果
(2)设置快捷键
:map crtl+v+键 操作 回车 #将一组操作设置快捷键
eg: :map ctrl+v+p I#<ESC> #按ctrl+p在光标行首加#
(3)输入替换
:ab mymail 192231223@qq.com #输入mymail自动替换为192231223@qq.com
(4)将2,3的设置保存(.vimrc)
vi /root/.vimrc 加入如下信息
set nu
map ^p I#<ESC>
ab mail 123@qq.com
(5)注释多行
:1,4 s /^ /# /g #注释1-4行
:1,4 s /^# / /g #取消1-4行注释(行首#替换为空格)
7.保存和退出
:w #保存
:wq #保存退出
:q #不保存退出
:q! #强制退出
:wq! #强制保存退出
8.异常退出时会生成临时文件
.xxx.swp