티스토리 뷰

Vim 은 자체적으로 버퍼를 가지고 있기때문에 바로 시스템 클립보드로 복사가 불가능하다.

이를 해결하기 위해서 아래 글을 참조하였다. 




주의:  먼저 터미널에서 아래 명령어를 통해 현재 Vim 버젼이 Clipboard 복사 기능을 제공하는지 확인하여야 한다!


vim --version | grep clipboard

만약 아래와 같이 -clipboard 와 -xterm_clipboard 가 뜬다면 clipboard 레지스터를 제공하지 않으므로 해당기능이 컴파일된 Vim 버젼을 찾아야한다.

clipboard 기능을 지원한다면 +clipboard 와 +xterm_clipboard 가 표시될 것이다. 

지원하는 Vim 버젼은 vim-gnome, vim-gtk 등이 있다. 


  • Vim 에서 y, d, p 와 같은 명령을 사용시에는 기본적으로 Vim 의 무명 레지스터(unnamed register)  에 저장된다
  • 이 레지스터는 다른 GUI 에디터 프로그램 또는 웹브라우저등과 다르게 시스템 클립보드에 저장되는 방식이 아니다(Ctrl+C, Ctrl+V 등과는 다름)
  • Vim 에서는 시스템 레지스터에 저장할 수 있는 방법으로 '+' 와 '*' 레지스터를 제공한다. ( 어떤 시스템에서는 + 와 * 는 동일, 다른 시스템에서는 다른 레지스터일 수도 있다) 
  • 리눅스에서는 '+' , '*' 는 다른 레지스터를 의미한다.  '+'  는 데스크톱 클립보드(XA_SECONDARY) 를 '*' 는 X11 primary selection(XA_PRIMARY) 를 의미한다.
  • 구체적으로는 '+'  는 CTRL+C, CTRL+X또는 CTRL-V 로 복사된 내용이며 (GNOME, KDE) , '*' 는 X 윈도우 자체 클립보드(텍스트영역지정, 마우스 가운데/휠 버튼으로 붙여넣는) 를 의미한다. 
  • 두 레지스터의 차이가 모호한데 , CTRL+C, CTRL+X 등을 사용하면 '+', '* '레지스터 모두에 복사되지만 마우스 중간버튼을 사용시는 '*' 레지스터에만 복사 되었다.
  • '+' 레지스터를 위주로 사용하면 될 듯하다.   


추가로 아래와 같이 무명레지스터를 클립보드 레지스터로 지정하는 설정을 .vimrc 에 저장하면  '+', '*' 두 레지스터를 이용하지 않고 바로 붙여넣기가 가능하다

set cb=unnamed


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG more
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함