Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim 地图alt+;shift+;]精神抖擞_Vim - Fatal编程技术网

Vim 地图alt+;shift+;]精神抖擞

Vim 地图alt+;shift+;]精神抖擞,vim,Vim,我想将Alt+Shift+]和Alt+Shift+[映射到gt和gt(这样它就可以像在Mac上一样工作) 如果我这么做似乎不起作用,我该怎么做: map <A-S-]> gt map gt 不知何故]需要转义或做些什么你的定义没有错。Vim将正确映射该组合,但它并没有以您期望的方式完成。这个映射本质上说的是 当按下Shift+Alt键时,除了] 在标准键盘上,]字符与Shift组合时将产生}。这意味着Vim将永远不会看到]与Shift的组合,而是只看到}。你可以利用这一点来获得你

我想将Alt+Shift+]和Alt+Shift+[映射到
gt
gt
(这样它就可以像在Mac上一样工作)

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

map <A-S-]> gt
map gt

不知何故]需要转义或做些什么

你的定义没有错。Vim将正确映射该组合,但它并没有以您期望的方式完成。这个映射本质上说的是

当按下Shift+Alt键时,除了]

在标准键盘上,]字符与Shift组合时将产生
}
。这意味着Vim将永远不会看到]与Shift的组合,而是只看到
}
。你可以利用这一点来获得你想要的行为。请尝试以下映射(假设使用标准QWERTY键盘)

:映射gt
:map gT

当您想在vim中重新映射键时,最好转到插入模式,按Ctrl+V,然后键入要重新映射的键。在本例中,我得到一个
转义
字符(Ctrl+[),后跟
}

我确实喜欢使用
符号,但是您可以通过编辑
.vimrc
文件,输入
映射
文本,然后按Ctrl+V和Alt+Shift+],然后添加
gt
来解决问题。你会得到这样一条线

map ^[} gt
(但是使用了一个实际的
转义
字符,而不是我必须在这里键入的
^
[
),它会工作的

另外,当我尝试此操作时,Alt+Shift+[工作正常,但Alt+Shift+]似乎已经在我的vim副本中使用。我不确定它的确切功能,但重新映射它对我不起作用。当我键入

:map <A-}>
:地图

它打印
未找到映射。

不客气!:-)早在那一天,我就用这个技巧计算出一个哑终端会为它的一个特殊密钥发送什么转义序列。在Mac上工作(使用control-v方法)。这对我不起作用……我在Mac上,以防万一这是相关的。
:map <A-}>