답변:
Ctrl-C과 Esc에서 동일하지 않습니다 vi
/ vim
모드 삽입을 포함, 대부분의 모드에서. 차이점은 Esc약어를 트리거하지만 Ctrl-c그렇지는 않습니다. 이것이 당신에게 중요한지는 당신이나 당신이 사용하는 플러그인이 약어를 사용하는지에 달려 있습니다.
참고이 가정하는 것이보다 안전 Esc하고 Ctrl-C할 수 없습니다 에 같은 일을 의미한다 vim
. 이 동일한 사이트의 다른 예 는 블록 삽입 모드를 종료 할 때입니다 (아닌 vi
).
당신이 vim
아니라고 생각합니다 vi
.
이것은 실제로 vim
Linux에서 작동하지 않지만 100 % 확신하지 않는 한 Linux를 사용하지 않을 것입니다. 그 이유는 다른 OS에 자체 구현이있을 수 있기 때문에 구현 vi
하지 않았기 때문에 vi
해당 플랫폼에서 실행할 때 Ctrl-C에는 고유 한 전통적인 동작이 있습니다. 프로세스를 중단하고 터미널을 이상한 상태로 두십시오. .
를 참조하는 경우 vim
약간의 차이가 있습니다. CTRL-C
약어를 확인하지 않고 InsertLeave
이벤트를 트리거하지 않습니다 . 따라서 귀하 또는 플러그인은 autocmd
에 의존 하는 명령문을 정의 InsertLeave
했으며 트리거되지 않습니다.
공식 문서 http://vimhelp.appspot.com/insert.txt.html에서 :
<Esc> or CTRL-[ End insert or Replace mode, go back to Normal mode. Finish
abbreviation.
CTRL-C Quit insert mode, go back to Normal mode. Do not check for
abbreviations. Does not trigger the InsertLeave autocommand
event.
당신의 매핑 정의 할 수 있습니다 CTRL-C
하는 <esc>
, 다음 트리거됩니다 InsertLeave
.
Type :quit<Enter> to exit Vim
하여 Google로 돌아가는 방법을 알려줍니다. 타격i
하면 바로 삽입 모드로 돌아갑니다.