在vim中映射alt + shift +]

时间:2012-07-11 22:45:04

标签: vim

我想映射 Alt + Shift + ] Alt + Shift + [gtgT(所以它在Mac上工作)

我该怎么做,因为如果我这样做似乎不起作用:

map <A-S-]> gt

不知何故] 需要转义或

2 个答案:

答案 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.