如何映射<c->以在vim中切换注释?</c->

时间:2012-01-29 08:15:17

标签: vim

我在iterm2下使用vim。我正在使用NERDCommenter插件,我想使用Ctrl + /来切换注释(尝试从Idea / Eclipse切换到vim)。这是我在.vimrc中的映射:

 nmap <C-/> <leader>c<Space>
 vmap <C-/> <leader>c<Space>

但它似乎不起作用。可能是什么原因?

4 个答案:

答案 0 :(得分:35)

出于某种原因,vim将<C-/>注册为<C-_>(您可以使用<C-v><C-/>在插入模式下查看它)。它可以是终端应用程序必须遭受的终端或历史设计事物。

Gvim甚至没有尝试识别<C-/>。将其视为单/

答案 1 :(得分:5)

如果你处于视觉模式,这里是你如何重新获得选择:

nmap <C-_>   <Plug>NERDCommenterToggle
vmap <C-_>   <Plug>NERDCommenterToggle<CR>gv

答案 2 :(得分:1)

如果你正在使用iTerm2 + vim,可能以下步骤可以帮助你:

  1. 将以下代码添加到.vimrc文件中。

      

    map,cc&lt; plug&gt; NERDCommenterToggle

    或者如果您已经定义了&lt; leader&gt; as,

      

    map&lt; leader&gt; cc&lt; plug&gt; NERDCommenterToggle

  2. 检查您是否可以使用,cc在vim中切换评论

  3. 打开iTerm2 -> Preferences -> Keys,点击+按钮

  4. 选择Send Text with "vim" Special Chars,输入,cclike this

  5. 现在,您可以使用C-/在vim中切换评论。

答案 3 :(得分:0)

只是总结其他答案的信息。对我来说(由于我正在使用neovim<C-/>可能在Windows上工作正常,但我需要在Linux上使用<C-_>

if has('win32')
  nmap <C-/> <leader>c<Space>
  vmap <C-/> <leader>c<Space>
else
  nmap <C-_> <leader>c<Space>
  vmap <C-_> <leader>c<Space>
endif