技巧110-定制grep程序
![在这里插入图片描述](https://img-blog.csdnimg.cn/3c67df94820b4ce1a329215b6e5b89b6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5paw55Sf5Luj56iL5bqP5ZGY,size_16,color_FFFFFF,t_70,g_se,x_16#pic_center)
- vim的:grep 是外部grep程序的包装。
- 配置grepprg与grepformat可以对vim的grep进行定制。
vimgrep_6">vim默认的grep设置
'grepformat' 'gfm' string (default "%f:%l:%m,%f:%l%m,%f %l%m")
'grepprg' 'gp' string (default "grep -n ",
Unix: "grep -n $* /dev/null",
Win32: "findstr /n" or "grep -n",
VMS: "SEARCH/NUMBERS ")
通过:grep 调用ack
- 对比ack与grep:http://betterthangrep.com
- ubuntu 中安装ack
sudo apt-get install ack-grep
sudo ln -s /usr/bin/ack-grep /usr/local/bin/ack
brew install ack
ack --nogroup
- 采用ack代替grep最简单的方法是把’grepprg’设置成以下值:
:set grepprg=ack\ --nogroup\ $*
通过ack跳转到指定的行或列
- ack 采用–column参数运行ack时,它会给出每一处匹配的行号与列号。
ack --nogroup --column Waldo *
- 修改grepprg和grepformat完成这一功能
- %f表示文件名
- %l表示行号
- %c表示列号
- %m表示匹配的文本
:set grepprg=ack\ --nogroup\ --column\ $*
:set grepformat=%f:%l:%c:%m
其他grep插件