我在iterm2下使用vim。我正在使用NERDCommenter插件,我想使用Ctrl + /来切换注释(试图从Idea / Eclipse切换到vim)。这是我的.vimrc中的映射:
nmap <C-/> <leader>c<Space>
vmap <C-/> <leader>c<Space>
但它似乎并不起作用。可能的原因是什么?
我在iterm2下使用vim。我正在使用NERDCommenter插件,我想使用Ctrl + /来切换注释(试图从Idea / Eclipse切换到vim)。这是我的.vimrc中的映射:
nmap <C-/> <leader>c<Space>
vmap <C-/> <leader>c<Space>
但它似乎并不起作用。可能的原因是什么?
由于某些原因,vim将<C-/>
识别为<C-_>
(您可以在插入模式下使用<C-v><C-/>
查看)。这可能是终端或历史设计问题,终端应用程序必须受此影响。
Gvim甚至不会尝试识别<C-/>
。它将其视为单个/
。
如果你处于可视模式,以下是如何恢复选择的方法:
nmap <C-_> <Plug>NERDCommenterToggle
vmap <C-_> <Plug>NERDCommenterToggle<CR>gv
vmap <C-_> <Plug>NERDCommenterToggle<Bar>gv
- tebanep总结其他答案的信息。对我来说(可能由于我使用 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
neovide --remote-tcp=localhost:6666
命令在 WSL 中运行 neovim,并使用 neovide 进行编辑,但无法使用 nmap <C-/> <leader>c<Space>。 - Good Pen<c-/>
不被识别,而<c-_>
的效果与Unix系统相同。 - adamency<c-/>
不被识别,而<c-_>
与Unix系统上的操作方式相同。 - adamencynerdcommenter#Comment(0,"toggle")
(替代已弃用的NERDCommenterToggle
)。这将防止在未来某些旧映射的某些部分被重新映射到其他内容时出现问题。 - adamency将以下代码添加到你的.vimrc
文件中。
map ,cc <plug>NERDCommenterToggle
或者如果你已经将<leader>定义为逗号,则使用以下代码:
map <leader>cc <plug>NERDCommenterToggle
检查是否可以使用,cc
在vim中切换注释
打开,点击+
按钮
选择Send Text with "vim" Special Chars
,输入,cc
,如此。
现在你可以使用C-/
在vim中切换注释了。
<C-_>
绑定中的_
键时,它将执行注释切换。如何让Terminal.app使用<C-/>
绑定? - skilbjo<C-_>
只适用于数字键盘(10key)上的下划线,而不适用于苹果紧凑型键盘。此外,<C-/>
不是有效的按键码(显然只有有限的CTRL + 字母
组合,/
不在其中)。来源:http://vim.1045645.n5.nabble.com/How-to-map-Ctrl-td1192843.html - skilbjo