vimでキーコードを手動で設定する方法は?

vimでキーコードを手動で設定する方法は?

時には、vimを起動すると私のInsertキーが機能せず(使用する必要がありますi)、矢印は機能しません(文字が表示されます)。

私のキーが正しくマッピングされていないことに関連しているようです。この問題をどのように永久に解決できますか?

ベストアンサー1

理論的~/.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>')

おすすめ記事