让'git grep'在vim中有效地工作

时间:2014-02-21 10:04:20

标签: git vim vim-fugitive

Fugitive.vim允许我运行git grep命令;遗憾的是,结果未存储在quickfix-list中,因此我需要在:cw之后运行:Ggrep,以便拥有一个易于解析的结果列表。

我想输入:Ggr "def my_function"而不是:

:Ggrep "def my_function"
:cw

如何在我的.vimrc文件中定义此:Ggr命令?

修改

一旦定义了:Ggr命令,我就可以在光标下的单词上映射到git grep,这真的很棒:

nnoremap <C-F> :Ggr <cword><CR>

3 个答案:

答案 0 :(得分:11)

您可以使用<args>符号插入自定义命令的参数:

:command -nargs=+ Ggr execute 'Ggrep' <q-args> | cw

注意:由于:Ggrep命令没有-bar参数,因此无法链接,因此必须使用:execute

答案 1 :(得分:11)

这对我有用:

:command -nargs=+ Ggr execute 'silent Ggrep!' <q-args> | cw | redraw!

答案 2 :(得分:0)

已经在评论之一中提到过,但我认为fugitive.vim网站上的插件推荐解决方案应有自己的答案:

autocmd QuickFixCmdPost *grep* cwindow

(来自:https://github.com/tpope/vim-fugitive