诊断 Vim 中的键绑定问题

diagnosing key binding problems in Vim

我正在处理 vim 和 运行 中的映射问题。我可以映射到 <Up><Down><Left><Right>,我可以映射到 <S-Left><S-Right>,但我不能' t 映射到 <S-Up><S-Down>。也就是说

:nmap <S-Right> l 

有效,

:nmap <Up> l

但是

:nmap <S-Up> l 

不会。

也许 SO 会知道这个问题的答案,在这种情况下,我会将问题标题更改为更具体。但是失败了,我想要可以用来诊断失败原因的命令。

(如果我用上面的命令破坏了你的密钥,输入 :unmap <Up>

问题可能与您的终端[设置]有关。

您可以尝试逐字插入 Vim 收到的密钥来排除故障。在插入模式下,键入 <C-V> 后跟(移位的)光标键。对我来说(带 TERM=gnome-256color 的 gnome 终端),我得到了这些不同的值(所以移动光标键对我都有效,耶):

" 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 也不能。下一步将是检查您的终端设置/使用不同的终端。