记录一下关于 vim 中一些使用频率也许并不高的小技巧。
插入与删除
插入
A 在行末插入
I 在行首插入
O 在上一行插入
替换字符
普通模式下,先按下 r 再按下其他按键,就是使用新的字符替换旧字符。
删除
普通模式下,ct; 依次按下三个按键,c 表示删除这部分内容后直接进行插入模式,t; 表示从当前位置到这一行中下一个出现 ; 号之前的位置,合在一起就是删除这之间的内容。 c 换成 d 的话就是删除当前位置到这一行中下一个出现 ; 之前的内容,但是不进入插入模式。
di" 将当前行第一次出现两个 " 之间的内容全部清空并且进入插入模式。
移动
f; 表示移动到这一行中下一个 ; 号的位置。
vimgrep
vimgrep /匹配模式/[g][j] 要搜索的文件/范围
g 表示是否把每一行的多个匹配结果都加入
j 表示是否搜索完后定位到第一个匹配位置
vimgrep /pattern/ % // 在当前打开文件中查找
vimgrep /pattern/ * // 在当前目录下查找所有
vimgrep /pattern/ ** // 在当前目录及子目录下查找所有
vimgrep /pattern/ *.c // 查找当前目录下所有.c文件
vimgrep /pattern/ **/* // 只查找子目录
cn // 查找下一个
cp // 查找上一个
copen // 打开quickfix
cw // 打开quickfix
cclose // 关闭qucikfix
help vimgrep // 查看vimgrep帮助
从vim正文复制单词到vim命令行
例如使用 vimgrep 搜索时,光标先移动到要复制的单词的起始位置,之后切到命令模式, 先按 ctrl + r ,之后再按 ctrl + w 即可。