在vim中提供2中方法来在其他文件或者文件夹中搜索字符串,第一种是vimgrep还有一种是grep。
如果只是在当前打开的文件中查找字符串的,使用
:?
后面加上想要搜索的字符串就可以。
这里要解决的是在别的文件中,也许这个文件还没有打开,或者需要在多个文件中操作,比如在当前文件夹下面所有.c的文件中查找,或者在莫个文件夹中查找。这些情况下,我们可以使用imgrep或者grep。这里只介绍vimgrep。
这是个vim的内部命令,因为可以在vim内部直接使用,
:vimgrep
这个命令还可简写为vim
:vim
用例1
在当前文件夹下面所有.c文件中查找字符串 classA
:vimgrep /classA/gj ./*.c
解释一下:
g: 如果一行中出现多处,只显示一次,没有g就会出现多次
j: 只是列出所有匹配的行,没有j那么就会跳去第一个匹配的行
用例2 在当前文件夹及其子文件夹下面查找字符串classA
:vimgrep /classA/gj **/*.*
搜索完毕后可以使用copen或者cw命令来打开搜索的结果。使用jk来移动选中行,回车可以跳到对应的文件。
copen后面可以指定窗口的高度。
注意当去到搜到到的文件后,当前的窗口会被该文件覆盖,那么怎么回到原来的文件,
ctrl+^
更多的信息可以使用
:help vimgrep
来查看。
时间: 2024-10-12 16:24:54