때로는 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>')