![vim에서 Enter 키를 누르기 전에 명령줄 맵(cmap)을 확장하지 마세요.](https://linux55.com/image/23251/vim%EC%97%90%EC%84%9C%20Enter%20%ED%82%A4%EB%A5%BC%20%EB%88%84%EB%A5%B4%EA%B8%B0%20%EC%A0%84%EC%97%90%20%EB%AA%85%EB%A0%B9%EC%A4%84%20%EB%A7%B5(cmap)%EC%9D%84%20%ED%99%95%EC%9E%A5%ED%95%98%EC%A7%80%20%EB%A7%88%EC%84%B8%EC%9A%94..png)
나는 가지고있다
cmap w!! %!sudo tee > /dev/null %
내 .vimrc
.
w
vim 명령줄(나중에 ) :
에 a를 입력 하면 커서가 w
오른쪽으로 이동하기 전에 몇 초 동안 그대로 유지됩니다. 이것은 때때로 내 생각의 흐름을 방해하고 몇 초 동안 혼란스럽게 만듭니다. w
명령을 누를 때마다 일시적으로 "먹지" 않도록 명령 다음에 Enter를 누를 때 매핑이 발생하도록 하는 방법이 있습니까 ?
(그런데 이 매핑은 w!!
검색 쿼리를 입력할 때도 확장되는데, 실제로는 짜증나지는 않지만( w
지연과 유사하다는 점을 제외하면) 이상하게 보입니다.)
답변1
방금 시도했습니다.
cabbrev w!! %!sudo tee > /dev/null %
스페이스나 엔터를 누를 때까지 확장을 지연하지만 이상하게 비밀번호 프롬프트를 씁니다.~ 위에명령 확장으로 명령줄은 다음과 같습니다.
Password:ee > /dev/null %
(표시 오류를 무시하면 제대로 작동합니다.)
답변2
다음 명령을 사용하여 이 동작을 변경할 수 있습니다.timeout
그리고timeoutlen
옵션. 인용하다문서:
'timeout' 옵션이 켜져 있으면(기본값) Vim은 1초만(또는 'timeoutlen' 옵션에 지정된 기간 동안) 기다립니다. 이후에는 캐릭터가 그렇게 해석될 것이라고 가정합니다.