我想映射 Alt + Shift + ] 和 Alt + Shift + [到gt
和gT
(所以它在Mac上工作)
我该怎么做,因为如果我这样做似乎不起作用:
map <A-S-]> gt
不知何故] 需要转义或
答案 0 :(得分:16)
你的定义没有错。 Vim将正确映射该组合,但它不会以您期望的方式执行。该映射基本上是什么
除之外
在标准键盘上,与 Shift 组合时,] 字符将产生}
。这意味着Vim不会将] 与 Shift 结合使用,而只会看到}
。您可以利用它来获得您正在寻找的行为。请尝试以下映射(假设使用标准的QWERTY键盘)
:map <A-}> gt
:map <A-{> gT
答案 1 :(得分:13)
如果要在vim中重新映射密钥,通常最好转到插入模式,按 Ctrl + V ,然后键入要重新映射的密钥。在这种情况下,我得到一个Escape
字符( Ctrl + [),然后是}
。
我喜欢使用<A-}>
表示法,但您可以通过编辑.vimrc
文件,输入map
文本,然后点击 Ctrl + V <来解决问题/ kbd>并点击 Alt + Shift +] 然后添加gt
。你最终会得到像
map ^[} gt
(但使用实际的Escape
字符,而不是^
和[
,因为我必须在此处输入)并且它会起作用。
P.S。当我尝试这个时, Alt + Shift + [工作正常,但 Alt + Shift +] 似乎已经在我的vim副本中使用了。我不确定它究竟是做什么但是重新映射它并不适合我。当我输入
:map <A-}>
打印No mapping found.