[windows] Windows 붙여 넣기와 VIM Ctrl-V 충돌

Windows에서 VIM을 사용하고 있습니다. 문제는 내가 CtrlV시각 모드 로 사용하고 싶다는 것 입니다. 그러나이 키는 Windows 붙여 넣기와 충돌합니다. 이 키를 붙여 넣는 대신 VIM 비주얼 모드로 다시 재설정하려면 어떻게해야합니까? 내 _vimrc 구성 파일에서 설정하는 것을 선호합니다.



답변

에서 Vim은 문서 :

때문에 CTRLV붙여 넣기하는 데 사용됩니다, 당신은 블록 단위 비주얼 선택을 시작하는 데 사용할 수 없습니다. CTRLQ대신 사용할 수 있습니다 . 당신은 또한 사용할 수 CTRLQ의 이전 의미를 얻을 삽입 모드와 명령 줄 모드 CTRLV. 그러나 CTRLQ
제어 흐름에 사용될 때는 터미널에서 작동하지 않습니다.


답변

_vimrc 파일을 확인하고 mswin.vim의 소스인지 확인하십시오. 이 스크립트는 ^ v를 붙여 넣기에 매핑합니다. _vimrc 파일에서 해당 줄을 제거하거나 mswin.vim에서 직접 매핑 명령을 비활성화 할 수 있습니다.

자세한 정보는 vim에서 : help 동작을 수행하십시오.


답변

유닉스 에서처럼 작동하는 비주얼 모드 (및 기타 항목)에는 JOP와 Windows 프로그래머의 제안이 모두 필요합니다.

Windows의 GVim에서 편집 메뉴로 이동하여 시작 설정을 클릭하고 Windows 관련 쓰레기를 주석 처리합니다 (큰 따옴표 인 vimrc 주석 문자 사용). 곳 mswin.vim 파일은 ctrlv우선 지정하고, 옵션 mswin없이 행동은 당신이 기대하는 것처럼 화살표 키 단지 (그것은 또한 마우스 선택 동작을 변경) 모션을 적용하지 않는 것이 그렇게한다.

"source $VIMRUNTIME/mswin.vim
"behave mswin

나는 거기에 검정색 배경 색상 표를 추가하는 것을 좋아하므로 터미널에서 볼 수있는 것과 더 비슷해 보입니다 (그리고 밝은 배경은 종이에서는 좋지만 백라이트 화면에서는 끔찍하기 때문입니다).
colorscheme koehler


답변

_vimrc의이 줄이 문제가되는 경우 :

behave mswin

그런 다음 해당 줄을 삭제하십시오.


답변

나는 모든 곳에서 동일한 키 입력을 선호하므로 .vimrc에서 이것을 사용하여 mswin.vim을 재정의합니다.

if has('win32')
  " Avoid mswin.vim making Ctrl-v act as paste
  noremap <C-V> <C-V>
endif


답변

그것에 대해 당신이 할 수있는 일이 많이 있는지 잘 모르겠습니다. CtrlQ그래도 대신 사용할 수 있습니다 .


답변

jop의 조언 (기본 _vimrc 파일에서 mswin.vim 찾기)과 “Windows 프로그래머의”조언 ( “behave mswin”줄 제거)의 조합은 저에게 매력적으로 작용했습니다.

(내 담당자가 너무 낮아서 투표하거나 결합 할 수 없습니다. 누군가이 문제를 정리하거나 담당자가 높아지면 다시 올 것입니다)