[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-gtkvim-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로 붙여 넣을 수 있습니다.

세부 사항은 다소 구성 및 시스템에 따라 다르므로 마일리지는 확실히 다릅니다. 그래도 올바른 방향으로 향하게해야합니다.

또한보십시오

http://vim.wikia.com/wiki/Accessing_the_system_clipboard


답변

저의 구성은 복사 및 붙여 넣기에 적합합니다.

" 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 선택은 응용 프로그램에서 덜 자주 사용됩니다.

http://linux.die.net/man/1/xsel