![일반 모드의 vim에서 이스케이프 키를 :q에 매핑](https://rvso.com/image/1449094/%EC%9D%BC%EB%B0%98%20%EB%AA%A8%EB%93%9C%EC%9D%98%20vim%EC%97%90%EC%84%9C%20%EC%9D%B4%EC%8A%A4%EC%BC%80%EC%9D%B4%ED%94%84%20%ED%82%A4%EB%A5%BC%20%3Aq%EC%97%90%20%EB%A7%A4%ED%95%91.png)
Midnight Commandder에서 vim을 뷰어로 사용하고 있는데 파일을 빠르게 보고 닫고 싶습니다. :q
아무 것도 변경되지 않은 경우에만 vim이 종료되도록 Esc 키를 일반 모드로 매핑하려면 어떻게 해야 합니까 ?
답변1
현재 vim
세션에 대해서만 이를 수행하려면 다음 명령을 입력하십시오( 에서 vim
). (명확한 설명을 위해 공백을 추가했습니다. 표시된 부분 외에는 공백을 입력하지 마십시오 Space.)
: m a p Space Ctrl+ V Esc Space : q Ctrl+V Enter Enter
현재 터미널 세션의 나머지 부분에서만 이 작업을 수행하려면 다음 명령을 입력하십시오(터미널, 즉 셸에서). (명확성을 위해 줄 바꿈을 추가했습니다. 다음 내용을 한 줄에 모두 입력하십시오. Enter표시된 부분 외에는 입력하지 마십시오 Enter.)
E X I N I T =
" : m a p Space Ctrl+ V Esc Space : q Ctrl+V Enter " Enter
그런 다음
export EXINIT
Enter
변경 사항을 "영구적으로"(즉, 파일을 다시 변경할 때까지) 만들려면 위 명령( EXINIT="…"
및 export EXINIT
) 을 .bash_profile
및/또는 에 입력하세요 .bashrc
. (같은 줄에 함께 놓고 으로 구분할 수 있습니다 ;
. 로 결합하여 단축할 수도 있습니다 export EXINIT="…"
.) 이는 다시 로그인하거나 새 쉘을 시작할 때까지 적용되지 않습니다. EXINIT
명령이나 명령을 source
넣은 파일을 입력하기만 하면 됩니다 EXINIT
.
메모:bash를 기본 셸로 사용하지 않는 경우 셸에 대해 위의 내용을 수정해야 할 수도 있습니다.
또는 :map …
명령을 파일에 넣어보세요 .exrc
.
이것이 명확하지 않은 경우,
:지도문자열 1 문자열 2
vi
( / 에서 ) 입력할 때 (명령 모드에서) 편집기가 입력한 것처럼 작동 vim
하도록 매핑(번역)을 생성합니다 . 그리고 +는 /를 모두 나타내는 슈퍼 이스케이프 문자입니다 .string1
string2
CtrlVvi
vim
(사실 아마도모두프로그램 또는 적어도 대부분) 다음 문자는 제어 문자가 아닌 리터럴 텍스트 문자로 해석되어야 합니다. Ctrl+ V다음에 오는 캐리지 Enter
리턴 문자는 종종 ^M
; 로 표시됩니다. 그러나 a에서는 로 해석됩니다 .:map
string2
Enter