답변:
이전에 누른 키가 ESC 인 경우 ESC O로 시작하는 이스케이프 시퀀스를 생성 할 수있는 키가 있기 때문입니다. 예를 들어 커서 키 모드에 따라 위쪽 화살표 키는 이스케이프 시퀀스 ESC O A를 생성 할 수 있습니다.
부분 이스케이프 시퀀스가 표시되면 vim은 터미널 유형에 정의 된 이스케이프 시퀀스 중 하나와 일치하는 다른 문자가 수신되는지 확인하기 위해 짧은 시간 초과를 기다립니다. 그렇지 않은 경우 문자를 별도의 키 입력으로 취급합니다. 라인이 열리기를 기다리는 동안 대문자 A를 입력하여이를 위쪽 화살표로 취급하는지 확인할 수 있습니다.
이를 제어하는 데 사용할 수있는 vim 설정이 있습니다. :set ttimeoutlen=100
이스케이프 시퀀스 시간 초과를 100ms로 변경합니다. :set noesckeys
삽입 모드에있을 때 이스케이프 시퀀스를 보내는 키 인식을 완전히 비활성화합니다. 또한 해당 모드에서 esckeys가 꺼져 있기 때문에 vi 호환 모드에는이 문제가 없습니다 vim -u NONE
. 이것이 작동 하는 이유 입니다.
:set noesckeys
아마도 당신이 원하는 것이 아닐 것입니다-그것을 설정하고 삽입 모드에서 화살표 키를 누르십시오. 사용하지 않으려는 경우에도 그렇게하지 않으려 고합니다! noesckeys는 또한 삽입 모드 외부에서 속도를 높이 지 않습니다. ttimeoutlen
가는 길입니다
-u NONE
만 여전히 OP의 확인이 부족한 것으로 보입니다 .