[vim] 시스템의 클립 보드에서 vim paste를 만들고 복사하는 방법은 무엇입니까?
다른 편집기와 달리 vim은 복사 한 텍스트를 자체 클립 보드에 저장합니다. 따라서 웹 페이지에서 일부 텍스트를 복사하여 현재 작업 파일에 붙여 넣기가 매우 어렵습니다. gedit을 열거 나 수동으로 입력해야합니다.
시스템 클립 보드에서 vim paste를 만들 수 있습니까?
답변
"*
및 "+
레지스터는 시스템의 클립 보드위한 것입니다 ( :help registers
). 시스템에 따라 다른 작업을 수행 할 수 있습니다. 예를 들어, OSX 또는 Windows와 같은 X11을 사용하지 않는 시스템에서는 "*
레지스터를 사용하여 시스템 클립 보드를 읽고 씁니다. X11 시스템에서는 두 레지스터를 모두 사용할 수 있습니다. 자세한 내용 :help x11-selection
은 기본적으로 "*
X11의 PRIMARY 선택 (일반적으로 마우스로 선택한 항목을 복사하고 마우스 가운데 버튼으로 붙여 넣기)과 "+
유사하며 X11의 CLIPBOARD 선택 (클립 보드에 적합한) 과 유사합니다 .
당신의 머리를 가서 모든 경우, 사용 시도 "*yy
또는 "+yy
시스템의 클립 보드에 줄을 복사 할 수 있습니다. 적절한 컴파일 옵션이 있다고 가정하면 둘 중 하나가 작동해야합니다. 이것을보다 편리한 것으로 다시 매핑하고 싶을 수도 있습니다. 예를 들어, vnoremap <C-c> "*y
~ / .vimrc를 입력하면 시각적으로 선택하고 Ctrl+ c를 눌러 시스템의 클립 보드에 들어갈 수 있습니다 .
복사 / 시스템 클립 보드에서 붙여 넣기주의하십시오 작업을하지 않을 경우 :echo has('clipboard')
이 경우, 정력에 반환 0이 컴파일되지 않는 +clipboard
기능과 다른 버전을 설치하거나 다시 컴파일해야합니다. 일부 Linux 배포판은 기본적으로 최소 vim 설치를 제공하지만 일반적으로 또는 패키지 를 설치vim-gtk
vim-gtk3
하면 추가 기능을 얻을 수 있습니다.
에 'clipboard'
설명 된 옵션을 살펴볼 수도 있습니다 :help cb
. 이 경우 수 :set clipboard=unnamed
또는 :set clipboard=unnamedplus
작업이 자동으로 시스템 클립 보드에 복사 / 삭제 모든 확 잡아 당기는를 확인합니다. 클립 보드에 다른 것을 저장하는 경우에는 덮어 쓰기 때문에 불편한 경우가 있습니다.
붙여 넣기하려면 "+p
또는 "*p
시스템 (또는 원하는 선택에 따라)을 사용하거나 다른 것으로 매핑 할 수 있습니다. 나는 명시 적으로 입력하지만 종종 삽입 모드에서 나 자신을 찾습니다. 당신이 삽입 모드에 있다면 당신은 여전히 사용하여 적절한 들여 쓰기로 붙여 넣을 수 있습니다 <C-r><C-p>*
또는 <C-r><C-p>+
. 참조하십시오 :help i_CTRL-R_CTRL-P
.
vim의 paste
옵션 ( :help paste
)을 언급 할 가치가 있습니다. 이것은 vim을 특별한 “붙여 넣기 모드”로 설정하여 다른 여러 옵션을 비활성화하여 터미널 에뮬레이터 또는 멀티플렉서의 익숙한 붙여 넣기 바로 가기를 사용하여 vim에 쉽게 붙여 넣을 수 있습니다. 간단히 입력 :set paste
하여 활성화 한 다음 내용을 붙여넣고 입력 :set nopaste
하여 비활성화하십시오. 또는 pastetoggle
옵션을 사용 하여 모드를 전환하는 키 코드를 설정할 수 있습니다 ( :help pastetoggle
). 이 옵션 대신 레지스터를 사용하는 것이 좋지만 여전히 너무 무서운 경우 vim 찹을 완성하는 동안 편리한 해결 방법이 될 수 있습니다.
자세한 내용 :help clipboard
은 참조하십시오.
답변
gnome-terminal의 붙여 넣기 단축키로 vim에 복사 할 수 있습니다. 파일을 삽입 모드로 만들고 사용하십시오.
Ctrl+ Shift+ v.
미리 기억하십시오
:set paste
들여 쓰기에 혼란을 피하기 위해.
답변
리눅스
내 Linux 시스템에서 +
및 *
레지스터는 X11 선택 항목에 매핑되며 마우스 가운데 버튼으로 붙여 넣을 수 있습니다. 시 :set clipboard=unnamed
와 :set clipboard=unnamedplus
사용 후 레지스터는 클립 보드에 매핑하고, CTRL-V로 붙여 넣을 수 있습니다.
세부 사항은 다소 구성 및 시스템에 따라 다르므로 마일리지는 확실히 다릅니다. 그래도 올바른 방향으로 향하게해야합니다.
또한보십시오
답변
저의 구성은 복사 및 붙여 넣기에 적합합니다.
" copy and paste
vmap <C-c> "+yi
vmap <C-x> "+c
vmap <C-v> c<ESC>"+p
imap <C-v> <ESC>"+pa
답변
이 목적을 위해 vimrc에 필요한 라인입니다.
set clipboard+=unnamed " use the clipboards of vim and win
set paste " Paste from a windows or from vim
set go+=a " Visual selection automatically copied to the clipboard
답변
이 질문에보다 객관적이고 그래픽적인 답변이 필요하다고 생각합니다.
붙여 넣기 모드 들어가기
- ESC
- : 붙여 넣기
- 프레스 i
- SHIFT+ Insert(클립 보드에 텍스트를 복사 한 상태)
붙여 넣기 모드 나가기
- ESC
- : 노즐 붙여 넣기
- 프레스 i
텍스트를 붙여넣고 다시 입력 할 수 있습니다.
답변
클립 보드
이 선택을 저장하기위한 특수 레지스터가 있습니다. “* 레지스터입니다. 선택한 텍스트에 대한 정보가 변경 될 예정이 아닌 경우 (예 : 마우스 왼쪽 단추를 클릭 한 경우) 또는 다른 응용 프로그램이 원하는 경우가 아니면 여기에 아무 것도 넣지 않습니다. 선택한 텍스트를 붙여 넣은 다음 텍스트를 “* 레지스터에 넣습니다. 예를 들어, 선을 잘라 현재 선택 / CLIPBOARD에 놓으려면 다음을 수행하십시오.
"*dd
마찬가지로 다른 응용 프로그램에서 선택한 항목을 붙여 넣으려면 (예 : 마우스 가운데 버튼을 클릭하여) 선택한 항목을 “* 레지스터에 먼저 넣은 다음 다른 레지스터와 같이 ‘넣습니다”. (CLIPBOARD의 내용) :
"*p
레지스터 E354
> There are nine types of registers:
> 1. The unnamed register ""
> 2. 10 numbered registers "0 to "9
> 3. The small delete register "-
> 4. 26 named registers "a to "z or "A to "Z
> 5. four read-only registers ":, "., "% and "#
> 6. the expression register "=
> 7. The selection and drop registers "*, "+ and "~
> 8. The black hole register "_
> 9. Last search pattern register "/
클립 보드에서 붙여 넣기
1. Clipboard: Copy
2. Vim insertmode, middle mouse key
터미널에서 X11 클립 보드 지원 확인
터미널에서 Vim을 실행하려면 클립 보드 지원으로 컴파일 된 Vim 버전을 찾아야합니다. 콘솔에서 X11 클립 보드 지원을 확인하십시오.
% vim --version
“+ xterm_clipboard”가 표시되면 계속 진행하십시오.
http://vim.wikia.com/wiki/Accessing_the_system_clipboard
X 서버는 다음과 같은 세 가지 선택을 유지합니다.
기본, 보조 및 CLIPBOARD
PRIMARY 선택은 일반적으로 마우스 가운데 버튼을 통해 복사 및 붙여 넣기를 구현하는 데 사용됩니다. 2 차 및 CLIPBOARD 선택은 응용 프로그램에서 덜 자주 사용됩니다.