vim - 诊断 Vim 中的键绑定(bind)问题

标签 vim customization key-bindings

我正在 vim 中处理映射并遇到了问题。我可以映射到<Up> , <Down> , <Left> ,和<Right> ,我可以映射到 <S-Left><S-Right> ,但我无法映射到 <S-Up><S-Down> 。换句话说

:nmap <S-Right> l 

有效,也有效

:nmap <Up> l

但是

:nmap <S-Up> l 

没有。

也许SO会知道这个问题的答案,在这种情况下,我会将问题标题更改得更具体。但如果做不到这一点,我想要可以用来诊断故障所在的命令。

(如果我用上面的命令分解了你的 key ,请输入 :unmap <Up> )

最佳答案

问题可能出在您的终端[设置]上。

您可以尝试按字面意思插入 Vim 收到的 key 来排除故障。在插入模式下,输入 <C-V>然后是(移动的)光标键。对于我来说(带有 TERM=gnome-256color 的 gnome-terminal ),我得到了这些不同的值(所以移动的光标键对我来说都有效,耶):

" Up, S-Up, Down, S-Down
^[OA ^[[1;2A ^[OB ^[[1;2B

" Left, S-Left, Right, S-Right
^[OD ^[[1;2D ^[OC ^[[1;2C

如果您看到移位键和未移位键的值相同,则您的终端无法区分它们,因此 Vim 也无法区分。下一步是检查您的终端设置/使用不同的终端。

关于vim - 诊断 Vim 中的键绑定(bind)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39646579/

相关文章:

python - 如何在自定义颜色图中获取屏蔽值的透明度 (matplotlib/python)

Emacs:击键和按键之间的关系

java - 即使我不释放按键,也检测到 KeyStroke 释放

vim - 如何让 x11/xQuartz 停止打开

swift - 在 DDMathParser (Swift) 中定义自定义函数

苹果手机 : embed a fully integrated customized (Google) map in a native app

sublimetext3 - 将快捷方式绑定(bind)到命令面板命令?

vim - 以二进制格式显示文件

dictionary - 如何在Vim中映射(别名)命令

Vim 添加和对齐新行并自动在引号内