vim에서`<del>`를`<esc>`에 올바르게 다시 매핑하는 방법은 무엇입니까?


1

저는 TypeMatrix 2030 의 행복한 소유자이자 행복한 vim 사용자입니다. 이 키보드에는 <del>중앙 위치 <esc>가 있으며 평소와 같이 왼쪽 상단 키가 있습니다. 그래서 내 <del>키를 에 다시 매핑하고 싶습니다 <esc>. 지금 까지이 줄을 내에 추가했습니다 .vimrc.

noremap <del> <esc>
nnoremap <del> <esc>
inoremap <del> <esc>
vnoremap <del> <esc>
xnoremap <del> <esc>
snoremap <del> <esc>
cnoremap <del> <esc>
onoremap <del> <esc>

그것은 거의 명령 줄 모드를 제외하고 잘 작동 : 입주는 :cmd<del>마찬가지로 도움을 시작합니다 :cmd<enter>동안 :cmd<esc>라인을 지우고 일반 모드로 돌아갑니다.

출력은 다음과 같습니다 :verbose cnoremap <Del>.

c  <Del>       * <Esc>>    
    Last changed in ~/.config/vim/vimrc 

다른 모드의 출력은 이상한 chevron과 비슷한 결과를 제공 >>하지만 잘 작동합니다 (삽입 모드에서 입력하면 일반 모드로 전환됩니다).


참고 : noremap의 조합과 같은 작업을 수행 nnoremap, vnoremaponoremap. 마찬가지로 더하기 noremap!의 일을 한다. 그리고 플러스 의 작업을 수행합니다 . 수행중인 작업에 대해 명확하게 설명하기 위해 모든 항목을 나열하지 않은 경우 이들을 세 개의지도 명령으로 결합 할 수 있습니다. inoremapcnoremapvnoremapxnoremapsnoremap
echristopherson

답변:


1

이 동작은 아래에 설명 된 내용 때문이라고 생각합니다 :help c_Esc( "매크로"를 "매핑"이라고 읽습니다. 밀접하게 관련되어 있습니다).

  <Esc>   When typed and 'x' not present in 'cpoptions', quit
          Command-line mode without executing.  In macros or when 'x'
          present in 'cpoptions', start entered command.

<C-c>대신 다음 을 사용하여이 문제를 해결할 수 있습니다 .

:cnoremap <del> <C-c>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.