xclip linux 클립보드 / vim 시스템 클립보드 / tmux 클립보드

markyang92·2021년 5월 7일
0

xclip linux 클립보드

  • xclip 설치
$ sudo apt update
$ sudo apt install xclip -y

x selection 종류

x selection 종류Description
PRIMARY마우스를 드래그해서 문자열을 선택하면 PRIMARY에 저장
CLIPBOARD마우스 오른쪽 클릭을해서 복사하면 CLIPBOARD에 저장 (보통 이거 씀)
Ctrl + C, Ctrl + V 할 때 이거 씀
SECONDARY별로 쓸 일 없다. xclip을 이용해서 PRIMARY와 CLIPBOARD의 내용을 그대로 놔두고 뭔가 저장해 두고 싶을 때 사용

xclip 사용법

$ xclip -selection <primary | clipboard | secondary> <OPERATION>

OPERATION:
	-o	내용 출력

xclip에 copy

  • xclip은 기본적으로 stdout의 redirection을 사용한다고 생각하면 편함
  • -selection clipboard로 복사할 클립보드를 지정해야함
  1. echo "Hello World" -> Clipboard 복사
$ echo "Hello World" | xclip -selection clipboard

  1. 출력 명령어 -> Clipboard 복사
$ echo `date` | xclip -selection clipboard

  1. data.txt 내용 -> Clipboard 복사
$ cat data.txt | xclip -selection clipboard

  1. data.txt 내용에서 xyz 내용만 추려서 Clipboard 복사
$ cat data.txt | grep "xyz" | xclip -selection clipboard

xclip에서 paste

위에서 Copy가 되었다면, 이미 클립보드에 저장되어 있음

  1. 그냥 Ctrl + v
    • 터미널: Ctrl + shift + v
    • Others: Ctrl + v

  1. -selction clipboard -o로 마지막에 -o 옵션 추가
$ xclip -selection clipboard -o
-> 출력됨

vim 시스템 클립보드

  • 시스템 클립보드를 사용하는 Vim을 쓰려면, vim-huge 버전인 gvim, vim-gtk, vim-gnome을 설치해야 시스템 클립보드를 사용할 수 있다.
$ sudo apt update && sudp apt install vim-gtk -y
# vim-gtk를 지원하지 않는다면, vim-gnome, gvim 설치

  • vim 클립보드 지원여부
$ vim --version


+clipboard가 있으면 vim에서 시스템 클립보드를 사용할 수 있는 것임


  • vim에서 클립보드로 복사하는 법

  1. 시스템 클립보드로 복사
    1.1 visual로 묶고 "+y 하면 clipboard에 복사된다.
    1.2 시스템에 붙여넣을 땐 Ctrl + v

  2. 외부에서 Ctrl + c로 복사한걸 vim에 붙여 넣을때
    2.1 "+p 하면 clipboard에서 가져와 붙여넣기 된다.


아근데 너무 불편하다! 시스템 클립보드를 vim buffer 기본 값으로 하고싶다!!

~/.vimrc 에서

set clipboard=unnamedplus 추가!

vim에서 클립보드로 복사할 때: y

외부에서 복사한 것을 vim에 붙여 넣을 때: p


설명도

  • tmuxtmux-buffer 사용함!!

tmux -> xclip

  • tmux buffer로 복사된 내용은
  1. tmux buffer 출력 단축키(ctrl + b 누른 상태 + ])
  2. $ tmux show-buffer [-b <BUFFER>]로 버퍼내용이 stdout으로 출력되는 것을 xclip으로 redirection
# 먼저 tmux scroll mode에서 tmux copy
$ tmux show-buffer | xclip -selection clipboard
profile
pllpokko@alumni.kaist.ac.kr

0개의 댓글