windows下vim调用grep命令
grep命令是程序员居家必备的利器,vimgrep有个美中不足的缺点,就是没有-v选项。所以只好打起了GNU grep的主意。(首先要下载一份windows下的grep命令,这个网上很多,记得设置环境变量path哦)
vim调用外部grep命令,首先要设置一个选项要使用外部查询,先设定外部查询所使用的工具,以及一些缺省选项:
:set grepprg=grep\ -nri
这表示vim的内部查询命令:grep将使用外部查询工具grep进行查询,注意这里两个grep表示不同的含义,前者表示vim的内部查询命令,后者是一个独立的文件查询程序。同时为grep程序指定了一些它自己的选项作为缺省值,-n表示在查询结果中显示该行所在文件中的行号,-r表示递归搜索指定目录下所有任意深度的子目录中的文件,-i表示忽略大小写,当然,忽略大小写会使查询速度慢很多。另外,使用--include选项指定只搜索特定后缀名的文件。
设置完毕后,就可以在命令模式下调用,如 :grep -v alarm alarmwindow.cpp
i.e.
D:\KQ>grep -niv "lint" lint.xml 2>&1
1:<?xml version="1.0" encoding="UTF-8"?>
3: <issue id="Invalige" severity="ignore" />
4: <issue id="MangF" severity="warning" />
5: <issue id="MisPrefix" severity="warning" />
6: <issue id="Wrol" severity="warning" />