2016-09-22 105 views
1

我正在研究vim中的映射並遇到問題。我可以映射到<Up>,<Down>,<Left><Right>,我可以映射到<S-Left><S-Right>,但我無法映射到<S-Up><S-Down>。換句話說診斷Vim中的鍵綁定問題

:nmap <S-Right> l 

作品,也是如此

:nmap <Up> l 

:nmap <S-Up> l 

沒有。

也許SO會知道這個問題的答案,在這種情況下,我會將問題標題更改爲更具體。但是,如果沒有這個,我想要我可以用來診斷哪些地方失敗的命令。

(如果我打破了上面的命令你了鍵,輸入:unmap <Up>

+0

映射'k'將適用於'shift-k',反之亦然。換句話說,使用鍵映射移位的方式與您只映射鍵的方式相同。所以,升檔和上漲一樣。嘗試映射'k'。即使映射爲「k」,也可以使用shift-k來查看映射對於shift-k的工作情況。 – SibiCoder

+0

您可以嘗試使用其他鍵或按Ctrl鍵。 – SibiCoder

回答

2

的問題可能是你的終端[設置]。

你可以做什麼來排除故障是試圖從字面上插入Vim收到的密鑰。在插入模式下,輸入<C-V>,然後按(移位)光標鍵。對我來說,(GNOME終端與TERM=gnome-256color),我得到這些不同的值(因此轉移光標鍵所有的工作對我來說,耶):

" 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也不能。下一步將是檢查您的終端設置/使用不同的終端。

+0

同樣,如果您的窗口管理器或終端首先捕獲它們,您可能根本看不到它們。 –

+0

是的,謝謝。問題出現在我的終端設置中:我的終端有規則告訴S-Left和Left,但不是從Up開始的S-Up,並且C-V的結果中的差異很明顯。我知道C-V,但不知道它應該能夠分辨出差異。 – enfascination