it-swarm-korea.com

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

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

 잘라 내기 "+ x 
 복사"+ y 
 붙여 넣기 "+ gP 

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

54
pcapademic

다음 행을 _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>+

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

51
Ludwig Weinzierl

"표준"핫키를 사용하여 잘라 내기/복사/붙여 넣기를 수행하고 싶지만 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와의 충돌에 대해 걱정할 필요가 없습니다. 복사 및 잘라내기를 사용하면 삽입 모드로 전환되므로 나중에 붙여 넣을 수 있으므로 문제가되지 않습니다. 당신이 그것을 시도하면 당신은 그것이 완전히 자연스러운 느낌을 찾을 수 있습니다.

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

46
Cogan

정상적인 vim 동작을 유지하면서 시스템 클립 보드의 번거로운 사용을 줄이려면 시스템 클립 보드 액세스 를 참조하십시오. gvim이 시스템 클립 보드를 기본 버퍼로 사용하도록하려면 (x, y, p 등 명령이 클립 보드를 사용함) 다음 행을 추가하십시오. 당신의 vimrc에 :

set clipboard=unnamed

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

9
jtb

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

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

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

imap은 삽입 모드에서만 바인딩을 추가하므로 매핑 또는 다른 것으로 변경하도록 할 수 있습니다. 들여다보다 :help mapmode 다시 매핑 및 매핑 해제에 대해 자세히 알아보세요.

행운을 빕니다!

2
Peter Thorin