본문 바로가기

리눅스 공부/기타실습

[리눅스 기타실습] 02. vim 클립보드 활성화하기

vim에 익숙하지 않은 상태에서 작업을 하다 보면 많은 순간에 인내심의 한계를 경험하게 된다.

검은 바탕에 흰 글씨만 가득한 화면에서 VI flex를 선보이는 수많은 고인물 개발자들처럼 순정 vim에 익숙해지고자 (저번에 vimrc를 건드린 순간 어느 정도는 물 건너갔지만) 필요 이상의 튜닝은 지양하자고 다짐했는데 또 손을 볼 것이 생기고 말았다.

clipboard

 

복사를 하는데 레지스터에만 깔작깔작 들어가고 시스템 클립보드에 저장이 안 되는 건 슬픈 일이다.

클립보드를 살려보자.


[오늘의 멍청이]

1. 문제의 발견

 

레지스터에 복사(yank) 붙여넣기는 yp
시스템 클립보드에 복사 붙여넣기는  "+y"+p

구글에 서치한대로 따라 했는데 클립보드에 복사가 안된다.

vim --version을 통해 확인해보니 vim 자체에 클립보드가 비활성화 되어있었다. 

 

+는 활성화, -는 비활성화 표시. -clipboard 노란색 형광펜 부분

원인 파악 완료.


 

2. 확장버전 설치

 

클립보드를 활성화하기 위해서 우선 vim 확장 버전을 설치해야 하는데 대부분의 글들이 우분투 환경을 기반으로 하고 있어 CentOS8에 맞는 결과를 찾기가 쉽지 않았다.

여기서 다양한 리눅스의 배포판을 살펴보니 대략적으로 다음과 같았다. 

 

  • 데비안 계열 (일반 사용자들을 포함 가장 많이 사용됨)
     - 우분투 
  • 레드햇 계열 (기업용 서버 OS로 많이 사용)
     - RHEL (기업용 Red Hat Enterprise Linux)
     - Fedora (RHEL의 프리뷰 버전 느낌 - 추가될 기능들 베타 테스트 등)
     - CentOS (RHEL의 복제판을 2014년에 흡수, RHEL의 무료 배포판 격)

 

이 외에도 슬랙웨어 계열, 수세 등등이 더 있지만 논외로 치고.

어쨌든 검색어를 Redhat vim clipboard로 바꾸니 그제야 다음과 같은 쓸만한 결과를 얻을 수 있었다. 

 

https://vi.stackexchange.com/questions/2063

 

How do I get +clipboard support in Fedora 20?

It seems to me that neither "+p nor "*p works for me. How can I know if my Vim is installed and set up properly to make them available? And if it's not set up, what can I do to set it up? I'm runn...

vi.stackexchange.com

vim-enhanced와 vim-x11이 설치된 상태라면, vi나 vim 대신 확장 버전인 vimx로 실행했을 때 클립보드를 쓸 수 있다는 이야기이다.

 

여기서 또 의문이 생긴게 

  1. 같은 계열이라 하더라도 페도라에 대한 내용이고 무려 5년 6개월 전의 글인데 그대로 적용이 가능한 건지
  2. vim-enhanced 만 있어도 클립보드가 사용 가능하다면 vim-x11이 굳이 필요 없는지

그렇게 더 서치를 돌리다가 새로운 글을 발견했다.

 

https://www.cyberciti.biz/faq/how-to-install-vim-on-centos-8-using-dnf-yum/

 

How to install vim on CentOS 8 using dnf/yum - nixCraft

Are you missing VIM on CentOS 8? Here is how to easily install a version of the VIM editor which includes recent enhancements on CentOS 8 Linux using dnf.

www.cyberciti.biz

@@@ Oh Oh 구세주 Oh Oh @@@ 

 

직접적으로 CentOS 8에 대한 내용을 다루고 있으며 최신 dnf를 이용한 설명과 dnf search vim, dnf list vim\* 등 유용한 명령어까지. 이 덕분에 모든 의문이 해결될 수 있었다.

 

우선 search와 list는 모두 패키지를 찾아주는 명령어인데 다음과 같은 차이가 있다.

 

dnf search vim 

패키지 이름과 설명 중 서치 키와드와 매핑되는 결과를 모두 찾아준다.

 

dnf list vim\*

서치 결과를 설치된 패키지와 사용 가능한 패키지로 나눠서 알려준다

 

궁금했던 vim 패키지 내용을 확인하니 vim-enhanced는 이미 설치되어있었고, vim-X11이 설치 가능한 패키지 목록에 떴다.

이제 더 고민할 것 없이 바로 vim-X11을 추가로 설치해주었다. dnf install vim-X11

 

GVim이 생겼다!

 

버전을 확인해보니 vim의 -clipboard와 달리 vimx는 +clipboard로 클립보드가 활성화 되어있음을 알 수 있다. 

멀고도 험했던 사전작업이 모두 끝났다.


 

3. 클립보드 사용

 

이제  vimx로 파일을 열어서 "+y로 복사를 하면 클립보드로 복사가 된다.

신난다

 

마지막으로 vi를 vim이 아닌 vimx로 앨리어스 해주는 작업을 .bashrc에 추가해 주면 쥐도 새도 모르게 순정 vi를 쓰는 척하면서 vimx를 쓸 수 있다. 

 


 

[추가로 알게 된 내용]

 

vim에서 시스템 클립보드를 사용하는 방법이 리눅스 버전별로 다양하게 나와있다. 

https://vi.stackexchange.com/questions/84

 

How can I copy text to the system clipboard from Vim?

Is there a way to copy a block of text to the system clipboard, so I can paste it in another program?

vi.stackexchange.com

 

 


 

[To do]

  • "+y 와 "+p를 다른 키로 바꿔보기
  • vi의 레지스터 사용법 익혀보기