기본적으로 Ubuntu의 GVim에서 잘라 내기 / 복사 / 붙여 넣기 바로 가기는 다음과 같습니다.
"+ x 컷 "+ y 복사 붙여 넣기 "+ gP
Firefox 및 그놈 응용 프로그램에서 사용하는 것처럼 GVim에서 제어 키 콤보를 사용하고 싶습니다. 다른 Gnome 앱처럼 작동하도록 GVim을 어떻게 구성합니까?
기본적으로 Ubuntu의 GVim에서 잘라 내기 / 복사 / 붙여 넣기 바로 가기는 다음과 같습니다.
"+ x 컷 "+ y 복사 붙여 넣기 "+ gP
Firefox 및 그놈 응용 프로그램에서 사용하는 것처럼 GVim에서 제어 키 콤보를 사용하고 싶습니다. 다른 Gnome 앱처럼 작동하도록 GVim을 어떻게 구성합니까?
답변:
당신의 다음 줄을 추가 _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>+
나는 그것을 철저히 테스트하지 않았고, 내가 예상 한 것을했는지 간단히 확인했습니다. 나를 위해 일하고, 그것이 당신을 위해 일하기를 바랍니다 .-)
mswin.vim
이미 behave mswin
전화 한 것 같습니다 . 이것을 내 자신의 것으로 다시 불러야 _vimrc
합니까?
behave mswin
적어도 Vim 8.0을 사용하는 시스템에서는 없이도 작동합니다 .
"표준"핫키를 사용하여 잘라 내기 / 복사 / 붙여 넣기를 수행하지만 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와의 충돌에 대해 걱정할 필요가 없습니다. 복사 및 잘라내기를 사용하면 삽입 모드로 전환되므로 나중에 붙여 넣을 수 있으므로 문제가되지 않습니다. 당신이 그것을 시도하면 당신은 그것이 완전히 자연적인 느낌을 찾을 수 있습니다.
몇 번의 조정을 반복 한 후에이 구성을 생각해 냈으며 이제는 "완벽"하다고 생각합니다. 현재 복사 / 붙여 넣기 구성이 약간 불만족 스럽다면 이것을 사용해보고 마음에들 것입니다.
:help i_ctrl-r_ctrl-o
거쳐로 변경 imap <C-v> <ESC>"+pa
하기 로 결정했습니다 imap <C-v> <C-r><C-o>+
. 커서가 줄의 첫 문자 왼쪽에있을 때 예상대로 작동하며 "표준"동작과 가장 유사합니다.
<C-v>
내 컴퓨터에서 훨씬 빠른 Shift + Insert로 변경 하려고합니다. 그러나 프로젝트 중간에 지금 vim을 다시 시작하는 느낌이 들지 않습니다. 그냥 공유
정상적인 vim 동작을 유지하면서 시스템 클립 보드의 번거로운 사용을 줄이려면 시스템 클립 보드 액세스를 참조하십시오 . 당신이 (그래서 어떤 기본 버퍼 시스템 클립 보드를 사용하는 gvim을 좋아한다면 x
, y
, p
, 등의 명령은 클립 보드를 사용하여) 다음의 vimrc에 다음 줄을 추가합니다 :
set clipboard=unnamed
개인적으로 vim과 시스템 사이보다 vim 내에서 버퍼를 더 많이 사용합니다. 시스템 클립 보드가 지속적으로 클로버되는 것보다 약간 더 번거로운 지름길이 필요합니다. 그러나 옵션을 선호하는 사람들에게는 옵션이 있다는 것이 좋습니다.
: imap 명령으로 이것을 추가 할 수 있다고 생각합니다 (Windows에서 Ctrl + X로 시도했지만 ctrl + c를 누르면 명령이 취소되는 것처럼 보이지만 vimrc에서해야 할 수도 있습니다).
:imap <C-X> "+x
:imap <C-C> "+y
:imap <C-V> "+gP
~ / .vimrc에 추가하면 imap 앞에서 :를 제거하면됩니다.
imap은 삽입 모드에서만 바인딩을 추가하므로 매핑 또는 다른 것으로 변경하도록 할 수 있습니다. :help mapmode
매핑 및 매핑 해제에 대한 자세한 내용을 살펴 보십시오 .
행운을 빕니다!