首页 > 代码库 > VIM在文件夹中查找

VIM在文件夹中查找

在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

来查看。