诊断Vim中的关键绑定问题

诊断Vim中的关键绑定问题,vim,customization,key-bindings,Vim,Customization,Key Bindings,我正在vim中处理映射,遇到了一个问题。我可以映射到,,和,我可以映射到和,但我不能映射到和。换句话说 :nmap <S-Right> l :nmap l 它起作用了,它也起作用了 :nmap <Up> l :nmap l 但是 :nmap l 没有 也许SO会知道这个问题的答案,在这种情况下,我会把问题的标题改得更具体一些。但如果不能做到这一点,我希望使用命令来诊断哪里出了问题 (如果我用上述命令断开了您的键,请键入:unmap)问题可能在于您的终端[设置]

我正在vim中处理映射,遇到了一个问题。我可以映射到
,我可以映射到
,但我不能映射到
。换句话说

:nmap <S-Right> l 
:nmap l
它起作用了,它也起作用了

:nmap <Up> l
:nmap l
但是

:nmap l
没有

也许SO会知道这个问题的答案,在这种情况下,我会把问题的标题改得更具体一些。但如果不能做到这一点,我希望使用命令来诊断哪里出了问题


(如果我用上述命令断开了您的键,请键入
:unmap

问题可能在于您的终端[设置]

要进行故障排除,您可以尝试插入Vim接收到的钥匙。在插入模式下,键入
,然后按(移动的)光标键。对于我(gnome终端,带有
TERM=gnome-256color
),我得到了这些不同的值(所以移动的光标键都对我有用,耶):


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

映射
k
将适用于
shift-k
,反之亦然。换句话说,使用键映射shift的方式与仅映射键的方式相同。所以,上档和上档是一样的。尝试映射
k
。并使用
shift-k
查看映射是否适用于shift-k,即使您映射了
k
。您可以使用其他键尝试alt或Ctrl。同样,如果您的窗口管理器或终端先捕捉到它们,您可能根本看不到它们。是的,谢谢。问题在于我的终端设置:我的终端有规则来区分S-Left和Left,但不是S-Up和Up,C-V的结果有明显的差异。我知道C-V,但它不应该能够区分差异。
:nmap <S-Up> l 
" Up, S-Up, Down, S-Down
^[OA ^[[1;2A ^[OB ^[[1;2B

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