记录一下关于 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
即可。