如何在Vim中使用Unite.vim插件来使用ack或ag?

7

我发现很多配置示例页面,例如:

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. 我可以浏览结果并选择一个或多个在拆分中打开

3
你考虑过使用Ag.vim吗? - enrico.bacis
1个回答

1
也许我没有理解这个问题的精髓,但如果你只需要配置Unite和ag,那很简单:在你的.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提供了更多功能。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接