Vim
如何在 vim 中手動設置鍵碼?
有時當我啟動 vim 時,我的
Insert
鍵不起作用(需要使用i
),我的箭頭也不起作用(它們給我的是字母)。我猜這與我的鍵未正確映射有關。我怎樣才能永久解決這個問題?
您需要在您的
~/.vimrc
. 理論上,轉義序列取決於終端。在實踐中,如果轉義序列對應於給定終端上的某個鍵,則其他終端要麼為相同的鍵發送它,要麼根本不發送它,因此您只需堆積定義而不必擔心衝突。要找出某個鍵發送的轉義序列,請進入插入模式並按
Ctrl
+V
,然後按該鍵。這會按字面意思插入轉義序列。將這樣的指令放入您的
~/.vimrc
(使用您觀察到的轉義序列):function Allmap(mapping) execute 'map' a:mapping execute 'map!' a:mapping endfunction call Allmap(' <ESC>[A <Up>') call Allmap(' <ESC>[B <Down>') call Allmap(' <ESC>[C <Right>') call Allmap(' <ESC>[D <Left>') call Allmap(' <ESC>[F <End>') call Allmap(' <ESC>[H <Home>') call Allmap(' <ESC>[5~ <PageUp>') call Allmap(' <ESC>[6~ <PageDown>') call Allmap(' <ESC>[k4~ <C-Left>') call Allmap(' <ESC>[5D <C-Left>') call Allmap(' <ESC>Od <C-Left>') call Allmap(' <ESC>[k6~ <C-Right>') call Allmap(' <ESC>[5C <C-Right>') call Allmap(' <ESC>Oc <C-Right>')