終端發送箭頭鍵作爲以Esc
開頭的序列。在Vim中,有一個選項'esckeys'
,它允許以Esc
開頭的鍵以插入模式工作。它會以實際的Esc
鍵爲代價立即做出響應,因爲Vim不再知道你是在按Esc
還是開始拼寫箭頭鍵。在Vim中,如何讓Esc和箭頭鍵在插入模式下工作?
這裏是希望我能在插入模式做到:
- 按箭頭鍵,並有光標在那個方向去,
- 按
Esc
離開插入模式立即。
我已經有了解決方案的開始。即使:set noesckeys
,我還可以一鍵映射到<Up>
像這樣:
imap q <Up>
當然,q
是不是一個好鍵使光標上去。相反,我想將我的終端仿真器的箭頭鍵映射到不以Esc
(如某些隨機的Unicode字符,我永遠不會鍵入)開始的東西,然後將imap
那些指向Vim中的方向。
問題是這樣的:當我離開Vim時,我的箭頭鍵將停止工作。只有Vim知道他們現在的意思。
我在iTerm2內部的tmux中工作。有沒有辦法像這樣只能在一個tmux窗格中進行綁定?或者讓Vim通知tmux它應該在運行時使用瘋狂的箭頭鍵綁定?任何其他想法?
(順便說一句,我很樂意只是沒有在所有插入模式使用箭頭鍵,不過我與誰想到他們工作的人對,我想成爲一個有禮貌的對。)
你使用什麼終端?在gnome終端,xterm和OSX的終端中,我的箭頭鍵的工作方式與在tmux內部運行vim的插入模式下所期望的完全相同。 – 2012-01-11 04:06:04
我正在使用iTerm2。箭頭鍵可以工作,但只能用'set esckeys'。我澄清了這個問題。 – Peeja 2012-01-11 13:58:59