Ubuntu의 GVim에서 잘라 내기 / 복사 / 붙여 넣기를 Ctrl + X, Ctrl + C, Ctrl + V로 작업하는 방법은 무엇입니까?


54

기본적으로 Ubuntu의 GVim에서 잘라 내기 / 복사 / 붙여 넣기 바로 가기는 다음과 같습니다.

 "+ x 컷
 "+ y 복사
 붙여 넣기 "+ gP

Firefox 및 그놈 응용 프로그램에서 사용하는 것처럼 GVim에서 제어 키 콤보를 사용하고 싶습니다. 다른 Gnome 앱처럼 작동하도록 GVim을 어떻게 구성합니까?


기본 vim 키와의 충돌을 피하려면 Ctrl + Key 대신 Ctrl + Shift + Key를 선택하십시오
Sheharyar

답변:


50

당신의 다음 줄을 추가 _vimrc또는.vimrc

source $VIMRUNTIME/mswin.vim
behave mswin

그러나 시각적 모드는 CTRL-V 대신 CTRL-Q입니다.

mswin.vim에 대한 개요는 mswin.vim sourcode를 참조하십시오 . 그것은 매우 잘 언급되어 있으며 일부 명령이 명확하지 않으면 vim의 도움으로 쉽게 찾을 수 있습니다.

다음은 소스에서 컴파일 된 빠른 개요입니다.

  • 백 스페이스 및 커서 키가 이전 / 다음 줄로 줄 바꿈
  • CTRL-X 및 SHIFT-Del이 잘립니다
  • CTRL-C 및 CTRL- 삽입은 복사입니다
  • CTRL-V 및 SHIFT- 삽입이 붙여 넣기
  • CTRL-Q를 사용하여 CTRL-V가 사용한 작업 수행
  • 삽입 모드에서도 CTRL-S를 사용하여 저장
  • CTRL-Z는 실행 취소입니다. cmdline에는 없지만
  • CTRL-Y는 재실행 (반복은 아니지만)입니다. cmdline에는 없지만
  • Alt-Space는 시스템 메뉴입니다
  • CTRL-A는 모두 선택
  • CTRL-Tab은 다음 창입니다
  • CTRL-F4는 창 닫기입니다

Nippysaurus의 요청에 따라 : 메뉴에서 Paste 외에도 Ctrl-V를 표시하기 위해 .gvimrc에 다음을 추가했습니다.

unmenu! Edit.Paste
aunmenu Edit.Paste
nnoremenu 20.360 &Edit.&Paste<Tab>Ctrl-V        "+gP
cnoremenu    &Edit.&Paste<Tab>Ctrl-V        <C-R>+

나는 그것을 철저히 테스트하지 않았고, 내가 예상 한 것을했는지 간단히 확인했습니다. 나를 위해 일하고, 그것이 당신을 위해 일하기를 바랍니다 .-)


1
Peter Thorin의 답변에 대한 Manni와 Peter Thorin의 의견을 이해하고 감사합니다. 필자는 Windows에서 메모장 대체품으로 GVim을 배웠으며 마찰을 줄이고 싶습니다. 감사합니다 Ludwig
pcapademic

2
새 바로 가기 키와 일치하도록 메뉴 바로 가기 텍스트를 변경하는 방법이 있습니까?
Nippysaurus

@ Nippysaurus : .gvimrc의 menutrans로 시도했습니다. 그것을 작동시키지 않았다, 저녁에 그것을 다시 볼 것입니다 ...
Ludwig Weinzierl

2
mswin.vim이미 behave mswin전화 한 것 같습니다 . 이것을 내 자신의 것으로 다시 불러야 _vimrc합니까?
Nathan Friend

1
@NathanFriend Ditto. behave mswin적어도 Vim 8.0을 사용하는 시스템에서는 없이도 작동합니다 .
Mikel

46

"표준"핫키를 사용하여 잘라 내기 / 복사 / 붙여 넣기를 수행하지만 gvim의 다른 구성 옵션을 변경하지 않으려면에 다음을 추가하십시오 ~/.vimrc.

vmap <C-c> "+yi
vmap <C-x> "+c
vmap <C-v> c<ESC>"+p
imap <C-v> <C-r><C-o>+

붙여 넣기는 Visual 및 Insert 모드에서만 작동하므로 Ctrl-V 및 블록 방식 Visual Mode와의 충돌에 대해 걱정할 필요가 없습니다. 복사 및 잘라내기를 사용하면 삽입 모드로 전환되므로 나중에 붙여 넣을 수 있으므로 문제가되지 않습니다. 당신이 그것을 시도하면 당신은 그것이 완전히 자연적인 느낌을 찾을 수 있습니다.

몇 번의 조정을 반복 한 후에이 구성을 생각해 냈으며 이제는 "완벽"하다고 생각합니다. 현재 복사 / 붙여 넣기 구성이 약간 불만족 스럽다면 이것을 사용해보고 마음에들 것입니다.


이것이 바로 내가 찾던 것입니다. 감사.
Sean McCleary

2
에 대한 실험과 상담을 :help i_ctrl-r_ctrl-o거쳐로 변경 imap <C-v> <ESC>"+pa하기 로 결정했습니다 imap <C-v> <C-r><C-o>+. 커서가 줄의 첫 문자 왼쪽에있을 때 예상대로 작동하며 "표준"동작과 가장 유사합니다.
Holger

<C-v>내 컴퓨터에서 훨씬 빠른 Shift + Insert로 변경 하려고합니다. 그러나 프로젝트 중간에 지금 vim을 다시 시작하는 느낌이 들지 않습니다. 그냥 공유

당신은 굉장합니다 =)
Yugal Jindle

9

정상적인 vim 동작을 유지하면서 시스템 클립 보드의 번거로운 사용을 줄이려면 시스템 클립 보드 액세스를 참조하십시오 . 당신이 (그래서 어떤 기본 버퍼 시스템 클립 보드를 사용하는 gvim을 좋아한다면 x, y, p, 등의 명령은 클립 보드를 사용하여) 다음의 vimrc에 다음 줄을 추가합니다 :

set clipboard=unnamed

개인적으로 vim과 시스템 사이보다 vim 내에서 버퍼를 더 많이 사용합니다. 시스템 클립 보드가 지속적으로 클로버되는 것보다 약간 더 번거로운 지름길이 필요합니다. 그러나 옵션을 선호하는 사람들에게는 옵션이 있다는 것이 좋습니다.


2

: imap 명령으로 이것을 추가 할 수 있다고 생각합니다 (Windows에서 Ctrl + X로 시도했지만 ctrl + c를 누르면 명령이 취소되는 것처럼 보이지만 vimrc에서해야 할 수도 있습니다).

:imap <C-X> "+x
:imap <C-C> "+y 
:imap <C-V> "+gP

~ / .vimrc에 추가하면 imap 앞에서 :를 제거하면됩니다.

imap은 삽입 모드에서만 바인딩을 추가하므로 매핑 또는 다른 것으로 변경하도록 할 수 있습니다. :help mapmode매핑 및 매핑 해제에 대한 자세한 내용을 살펴 보십시오 .

행운을 빕니다!


1
이것은 약간의 트릭을해야합니다. 그러나 그렇게하는 것은 나쁜 생각입니다. Ctrl-V는 시각적 모드로 들어가야하며 Ctrl-C는 명령을 취소합니다. 트릭은 시스템에서만 작동합니다. 다른 기계에서는 길을 잃을 것입니다.
innaM

1
나는 그것이 나쁜 생각이라는 것에 부분적으로 동의하고, 나는 그것을 직접 사용하고 싶지는 않지만, 캐주얼 gvim 사용자 인 경우 어쨌든 제거하는 바인딩을 놓치지 않을 것입니다.
Peter Thorin

1
왜 gvim을 먼저 사용합니까? 일반 사용자는 얼마나 오래 유지됩니까?
innaM

2
나는 그것이 나쁜 생각이라고 생각하지 않습니다. 사람들은 Ctrl + X 등을 사용하는 데 익숙하며 vim을 사용해야하는 다른 수십억 가지 이유가 있습니다.
Ludwig Weinzierl
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.