我想将 ++ 和 ++ 映射Alt到and Shift(所以它就像在 Mac 上一样工作)]AltShift[gt
gT
我该怎么做,因为如果我只是这样做似乎不起作用:
map <A-S-]> gt
不知何故]需要逃脱什么的
我想将 ++ 和 ++ 映射Alt到and Shift(所以它就像在 Mac 上一样工作)]AltShift[gt
gT
我该怎么做,因为如果我只是这样做似乎不起作用:
map <A-S-]> gt
不知何故]需要逃脱什么的
你的定义没有错。Vim 将正确地映射该组合,但它并没有按照您期望的方式进行。该映射本质上说的是
当Shift+Alt被击中时]
在标准键盘上,]与 结合使用的字符Shift将产生}
. 这意味着 Vim 永远不会看到与组合的]组合,Shift而只会看到}
. 您可以利用它来获得您正在寻找的行为。请尝试以下映射(假设标准 QWERTY 键盘)
:map <A-}> gt
:map <A-{> gT
当您想在 vim 中重新映射键时,通常最好进入插入模式,点击Ctrl+V,然后键入要重新映射的键。在这种情况下,我得到一个Escape
字符 ( Ctrl+[),后跟}
.
我确实喜欢使用<A-}>
符号,但您可以通过编辑.vimrc
文件、输入map
文本、然后点击Ctrl+V和点击Alt+Shift+]然后添加gt
. 你最终会得到像这样的一行
map ^[} gt
(但使用实际Escape
字符而不是我必须在这里输入的 a^
和 a [
)并且它会起作用。
PS 当我尝试这个时,Alt+Shift+[工作正常,但Alt+Shift+]似乎已经在我的 vim 副本中使用。我不确定它到底做了什么,但重新映射它对我不起作用。当我输入
:map <A-}>
它打印No mapping found.