Esc 대신 jk를 누를 수 있도록 ~/.vimrc에서 다음 줄을 사용합니다.
:imap jk <Esc>
붙여넣기 위해 :set을 추가하기 전까지는 잘 작동했습니다.
" Pressing jk is same as pressing Esc
:imap jk <Esc>
" Enable paste from system clipboard
" Bug? This disables imap jk <Esc>
set paste
왜 이런 일이 일어나는지 말해 줄 수 있는 사람이 있나요? 적어도 다음 시스템에서 발생합니다.
호스트: Amazon Linux AMI Vim 버전: 7.4
호스트: MacOS 10.14.5 Vim 버전 8.0.1283
답변1
이것은 예상됩니다.
요점은'paste'
비활성화된 기능 목록에서 텍스트 및 삽입 모드 매핑을 붙여 넣을 때 "의도하지 않은 효과를 방지"하는 것입니다.
~에서:help 'paste'
:
이
'paste'
옵션이 켜져 있는 경우(이미 켜져 있는 경우에도):
- 삽입 모드 및 명령줄 모드에서 매핑 비활성화
- 약어가 비활성화되었습니다.
- [...]
또한 들여쓰기 및 텍스트 줄 바꿈과 관련된 옵션과 같이 Vim이 붙여넣은 텍스트를 수정하게 만드는 다른 옵션도 비활성화됩니다.
붙여넣기 모드에서 특수 키 입력(삽입 모드를 종료하는 데 사용되는 ESC 제외)에 대한 유일한 예외는 다음과 같이 설정된 키 입력입니다.'pastetoggle'
, 설정된 경우. 이 키는 붙여넣기 모드를 비활성화하여(활성화된 경우) 일반 삽입 모드로 돌아갈 수 있습니다.
또한 'paste'
대부분의 경우 모달은 실제로 열려 있으면 안 됩니다. Vim이 활성화되면 많은 Vim 기능이 비활성화되므로 일반적으로 붙여넣는 동안 하나의 기능만 사용한 다음 즉시 비활성화하면 됩니다.
붙여넣기 모드에 유용한 키 바인딩이 있는 플러그인 권장 사항을 확인하고 싶다면 tpope를 추천해 드릴 수 있습니다.vim은 손상되지 않았습니다, 다음 세 가지 매핑을 노출합니다(일반 모드에서):
[op
: 현재 줄 앞에 붙여넣기]op
: 현재 줄 뒤에 붙여넣기yop
: 현재 줄을 붙여넣고 바꿉니다.
모든 경우에 Vim은 open 동안 삽입 모드로 들어가며 'paste'
ESC 'paste'
를 사용하여 삽입 모드를 종료하자마자 닫힙니다. 옵션이 켜져 있을 때 붙여넣기 작업만 수행하므로 한 번의 키 입력, 실제 붙여넣기, ESC 순서가 하나의 일관된 작업이 된다는 개념입니다.
바라보다:help pasting
이 플러그인의 경우자세한 내용은.