技巧:记住最常用的、不容易忘记技巧即可。
快捷键:
u 撤销一步,ctrl + r 恢复一步, r 替换
i 光标前插入,I 行首插入,a 光标后插入,A 行尾插入,o 下一行插入,O上一行插入,
x 向后删除一个字符,相当于delete, X 向前删除一个字符
:e! 不保存,恢复原始状态
光标定位:
hjkl:左下上右
0 和 home :到行首
$ 和 end :到行尾
gg :快速到文档首行, G 定位到末
查找:
/string 查找字符串string,n下一个结果,N上一个结果,查到的结果会高亮显示,取消高亮用 :noh,不取消下次打开还是高亮,如果忘记这个命令,可以故意查找一个根本找不到的字符串,即可变相的取消高亮了
/^string 查找以string开头的字符串
/string$ 查找以string结尾的字符串
vim + /home/a.txt : 打开后跳到最后一行
vim +23 /home/a.txt 打开后跳到23行,可以快速定位错误的位置
正常模式下操作:
yy 复制整行
nyy 复制n行
p 光标下一行插入粘贴
dd 删除,剪切
ndd 删除n行
D 从光标处删到行尾
可视块模式:
ctrl + v 进入该模式
R 擦除,改写,进入替换模式
批量修改方法:
(1)ctrl + v
(2)上下移动光标,把需要注释、编辑的开头选中
(3)按大写I
(4)插入注释符号 # 或需要插入的字符
(5)按Esc后就全部注释或插入字符了
命令行模式:
:w 保存
:w! 强制保存
:q 没有进行任何修改,退出
:q! 修改了,不保存,强制退出
:wq 保存退出
:wq! 强制保存退出
:x 保存退出
:e! 复原,恢复到文件打开后,没有进行修改的状态
正常模式下,按大写ZZ,也可以保存退出。
编辑时调用外部命令,进入命令模式, :!命令
例如: :!ifconfig #在vim中调用ifconfig命令
读取其他文件:把其他文件中的内容追加到当前文档中。 :r /etc/hosts (容易出错,不建议使用)
文本替换:
:1,5 s/bin/yuanqi/ #从1到5行出现的第一个bin替换为yuanqi
:1,5 s/bin/yuanqi/g #第1到5行所有的bin替换为yuanqi
:6 s/xue/aaaaa/g # 只把第6行所有的xue替换为aaaaa
%为全文替换
:% s/hello/yuanqi/g #将文本中所有的hello替换成yuanqi
:% s/hello/yuanqi/gi #将文本中所有的hello替换成yuanqi,并且忽略do的大小写
:% s@yuanqi@hello@g #将文本中所有的yuanqi替换成hello,替换时也忽略大小写
一些临时设置:
:set nu #设置行号
:set nonu #取消行号
:noh 取消高亮显示