我发现了这个git grep vim插件,但我无法弄清楚如何映射我的Command-Shift-F来调用它。我已经禁用了默认提供的Ack插件。
答案 0 :(得分:2)
您只需要创建一个调用GitGrep
命令的自定义映射:
nnoremap <D-S-f> :GitGrep<Space>
之后,点击<D-S-f>
将会出现
:GitGrep | <-- cursor here
在命令行中,准备接受参数。
但我建议您选择更好的快捷方式:<D-S-f>
仅适用于MacVim。即使在那里,我似乎也记得像这样的关键组合并没有真正工作。 MacVim并没有抱怨,但<D-S-f>
与<D-f>
有点相同。 IIRC,您必须映射<D-F>
而不是<D-S-f>
。
像,f
这样的东西更合适,我相信,更便携。
答案 1 :(得分:0)
Janus已经包含了绝对令人敬畏的vim-fugitive,它也提供了:Ggrep
命令。
所以,我们可以破解Janus adds mapping for Ack的方式。
首先禁用Ack
中的~/.vimrc.before
插件,如下所示:
call janus#disable_plugin('ack')
然后在~/.vimrc.after
中添加以下代码:
if has("gui_macvim") && has("gui_running") " Command-Shift-F on OSX call janus#add_mapping('ggrep', 'map', '', ':Ggrep') else " Define to a dummy value to see if it would set as well. map :dummy if maparg("") == ":dummy" " f on systems where == call janus#add_mapping('ggrep', 'map', 'f', ':Ggrep') else " if we can still map to call janus#add_mapping('ggrep', 'map', '', ':Ggrep') endif map endif
享受!