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


110

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

답변:


145

에서 Vim은 문서 :

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


2
_vimrc를 조작하는 것보다이게 더 좋습니다. 즉시 작동하며 앞으로 직렬 터미널에있을 가능성이 낮기 때문에 Ctrl-S / Ctrl-Q 흐름 제어는 문제가되지 않습니다.
Michael Dillon

Linux (Gnome 터미널)에서는 CTRL-K CR 을 사용하는 것이 더 낫다는 것을 알았지 만이 대답을 먼저 찾았습니다.
jalanb

3
어떤 이유로 ShiftWindows에서는 시각적 선택을 위해 키 를 사용해야 하지만 Linux에서는 사용하지 않습니다.
stevesliva

1
감사합니다 user132014! 하지만 Ctrl-Q를 사용하여 시각적 블록 모드에서 탐색하려면 h, j, k 및 l을 사용해야합니다. Windows 용 gVim 편집기의 경우입니다. Ctrl-Q를 사용하여 시각적 블록 모드로 탐색 할 때 Windows 용 gVim에서 화살표가 작동하지 않는 것 같습니다.
Ratnesh Chandna

3
@RatneshChandna- Shift화살표와 함께 사용 하시겠습니까? 나는 같은 행동을보고 있지만 어떻게 든 효과가 있음을 발견 Shift했습니다. 나는 h / j / k / l가 작동하는지 몰랐습니다.
stevesliva 16.16.16

40

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

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


24

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

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

"source $VIMRUNTIME/mswin.vim
"behave mswin

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



14

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

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

7

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


4

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

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


3
즉, 댓글을 남기려고 하셨나요?
Christopher Bottoms

1
Heh, 나는 드물게 stackoverflow 사용자입니다 (따라서 저의 평판이 낮습니다)
Rick Reynolds
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.