《Vim实用技巧(第2版)》学习笔记:技巧110-定制grep程序

news/2024/7/21 15:12:54 标签: vim, 学习, linux

技巧110-定制grep程序

在这里插入图片描述

  • 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
  • OS X中使用Homebrew进行安装
brew install ack
  • ack 实现grep -n的效果
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插件

  • Ack.vim
  • fugitive.vim:Ggrep命令

http://www.niftyadmin.cn/n/1163750.html

相关文章

《Vim实用技巧(第2版)》学习笔记:技巧111-使用Vim内置的正则表达式引擎的Grep

技巧111-使用Vim内置的正则表达式引擎的Grep 使用:vimgrep命令让Vim在所有文件中查找单词。 :vimgrep命令会把所有包含匹配项的行加入quickfix列表。然后可以用:cnext,:cprev 浏览这些结果。 :vimgrep /going/ clock.txt tough.txt where.txt :cnext模式域后加上g标志&#x…

《Vim实用技巧(第2版)》学习笔记:技巧113-与自动补全的弹出式菜单进行交互

技巧113-与自动补全的弹出式菜单进行交互 不论使用哪种自动补全命令&#xff0c;都可以用与选择菜单中的上一项或下一项。。 <C-n> <C-p> <Down> <Up> <C-y> 确认使用当前选中的匹配项(yes) <C-e> 还原最早输入的文本(从自动补全中exit) …

《Vim实用技巧(第2版)》学习笔记:技巧114-掌握关键字的来龙去脉

技巧114-掌握关键字的来龙去脉 缓冲区列表 填充自动补全单词列表最简单的方法时使用当前缓冲区中的单词。基于当前关键字的补全功能就是这样实现的&#xff0c;它可以通过进行触发。查看缓冲区列表 :ls!包含文件 各语言外部文件或代码库加载代码 如果Vim建立补全列表时把它们…

《Vim实用技巧(第2版)》学习笔记:技巧115-使用字典中的单词进行自动补全

技巧115-使用字典中的单词进行自动补全 有时候&#xff0c;我们想通过自动补全功能输入某个单词&#xff0c;但是它并没有在任何打开的缓冲区、包含文件或标签文件中出现过。 这种情况下&#xff0c;可以在字典中查找。:h compl-dictionary <C-x><C-k>为了激活该功…

《Vim实用技巧(第2版)》学习笔记:技巧116-自动补全整行文本

技巧116-自动补全整行文本 自动补全整行文本&#xff0c;vim中用触发 :h compl-whole-line 普通关键字补全采用的文件也同样用于生成行自动补全建议列表。Vim会忽略行首的缩进。面向行的自动补全功能妙就妙在不用知道要复制的行的具体位置&#xff0c;而只需要知道有这样一行额…

《Vim实用技巧(第2版)》学习笔记:技巧117-自动补全单词序列

技巧117-自动补全单词序列 当使用自动补全功能补全单词时&#xff0c;Vim会记住该单词的来源位置。 如果紧接着再次调用自动补全功能&#xff0c;Vim就会插入位于其后的单词。重复使用来完成补全。 Vim的自动补全不仅仅可以插入单词序列&#xff0c;也可以用于插入一系列的行。…

《Vim实用技巧(第2版)》学习笔记:技巧118-自动补全文件名

技巧118-自动补全文件名 Vim中的文件名自动补全功能可以通过命令触发 :h comple-filenameVim的文件名自动补全功能只相对于工作目录的路径扩展&#xff0c;而不是相对于当前编辑文件的路径. 理解这一点很重要。这一点会使得补全文件名&#xff0c;很多时候要在当前目录下才起作…

《Vim实用技巧(第2版)》学习笔记:技巧119-根据上下文自动补全

技巧119-根据上下文自动补全 全能补全时由Vim实现的intellsense功能。 intellsense 是 Intelligent Sense的缩写&#xff0c;指的是一套编程环境。intellsense通过减少程序员常犯的误解、笔误以及其他错误&#xff0c;帮助他们加快编码的流程。 全能补全功能可以通过命令进行触…