Janus Vim:重命名Command-Shift-F到git grep

时间:2012-06-16 01:41:33

标签: vim grep janus

我发现了这个git grep vim插件,但我无法弄清楚如何映射我的Command-Shift-F来调用它。我已经禁用了默认提供的Ack插件。

https://github.com/tjennings/git-grep-vim/

2 个答案:

答案 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

享受!