1

我正在使用一个名为 NERDCommenter 的 vim 插件,它允许我切换代码行的注释状态。问题是我想将快捷方式更改为 ctrl + / 或命令 + /。在线(来自我阅读的其他帖子)它说不要使用<C-/>,而是使用<C-_>. 这不起作用,仅将切换注释命令映射到 ctrl 下划线。

这是我用来执行此操作的代码:

nnoremap <C-_> :call NERDComment(0, "toggle")<CR>

有人可以让我知道我做错了什么吗?谢谢你。

4

1 回答 1

1

在撰写本文时,在MacOS使用当前/内置Terminal应用程序(不使用其他软件)时,不幸的是无法使用+或映射Vim快捷方式Control/Command ⌘</kbd>+/.

这是因为这些键序列都没有控制代码编码(更多关于这里这里)。


选项 #1(推荐)

Map Option/Alt+/切换 NERDComenter → mac 用户必须使用由 Option/Alt 序列生成的真实字符 (÷) 来执行此操作:

nmap ÷ <plug>NERDCommenterToggle
vmap ÷ <plug>NERDCommenterToggle<CR>gv

仅在Terminal > Preferences > Profiles [settings] > Keyboard > 'Use Option as Meta Key'切换为OFF时才有效。更多信息在这里

选项 #2 - MacVim

您可以使用MacVim,它允许您映射Command ⌘</kbd> key with <D->. More info here.

选项 #3 - iTerm2

用于iTerm2您的终端应用程序。这样您就可以将Control+映射/<C-_>并且它会起作用。为了Command ⌘</kbd>+/ to work, you'll have to create a new keyboard shortcut to send as an escape sequence to Vim. More info here and here.


我不建议这样做,但您也可以使用程序重新映射您的Command ⌘</kbd> or Control modifier keys every time you open a specific app like Terminal. iTerm2 works for this task too, as well as programs like Karabiner -- for older versions of MacOS. According to this post, the newer Karabiner-Elements requires some tweaking for app-specific remapping.

更多资源这里这里这里

于 2020-09-26T04:35:56.070 回答