如何在unite.vim中使用vim中的ack或ag?

时间:2015-04-14 21:28:43

标签: vim ack ag

我找到了许多配置示例的页面,例如:

let g:unite_source_grep_command = 'ag'
let g:unite_source_grep_default_opts =
  \ '--line-numbers --nocolor --nogroup --hidden --ignore '
let g:unite_source_grep_recursive_opt = ''

" Use ag for searching
let g:unite_source_rec_async_command =
  \ 'ag --follow --nocolor --nogroup --hidden -g ""'
let g:ackprg = 'ag --nogroup --column'
nnoremap <space>/ :Unite grep:.<cr>

不幸的是,我真的不明白这些是做什么或为什么。我用它做了些什么,并得到了我想要的部分工作。

理想情况下,我只想要类似于Ack.vim所做的事情:

  1. 我点击了一些键映射,让我们说/
  2. 我输入了我的搜索查询
  3. 在顶部打开Unite.vim缓冲区分割,异步使用ack或ag搜索我的搜索查询
  4. 我可以浏览结果并选择一个或一些以拆分方式打开

1 个答案:

答案 0 :(得分:0)

也许我错过了这个问题的精神,但是如果你只需要用ag配置Unite,这很简单:在.vimrc中添加:

let g:unite_source_grep_command="ag"
let g:unite_source_grep_default_opts="-i --nocolor --nogroup"

在vim中,你会调用类似的搜索:

:Unite grep:.
pattern: foobar

注意:Unite没有预先定义的映射,因此您必须添加自己的映射。如果Unite功能太多而无法满足您的需求,请考虑将Ack.vim与ag一起使用(不再维护Ag.vim。)两个插件都能满足您的理想使用模式;但是Unite做了更多。