티스토리 뷰
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
'리눅스 > 리눅스개발환경' 카테고리의 다른 글
우분투 16.04 에서 Ctrl 키를 CapsLock 키로 변경하기 (0) | 2018.03.01 |
---|---|
우분투에서 텍스트(콘솔모드)로 부팅하기 (0) | 2013.06.11 |
리눅스 개발환경 구축하기- 윈도우 환경 (0) | 2013.02.05 |