X 서버가 있는 컴퓨터에서는 selection
클립보드를 사용하여 GUI와 터미널 프로그램 간의 복사/붙여넣기를 동기화합니다. 이제 X가 없는 서버가 있고 및 같은 터미널 응용 프로그램 간에 복사/붙여넣기를 동기화하고 싶습니다 zsh
. 나중에 이 클립보드를 Linux 서버에 SSH로 연결하는 데 사용하는 Mac의 시스템 클립보드와 추가로 동기화하고 싶습니다.vim
tmux
이런 설정이 가능한가요? 구체적으로,
X11을 실행하지 않고도 터미널 응용 프로그램 전반에 걸쳐 Linux 공유 클립보드에서 복사/붙여넣기를 동기화할 수 있습니까?
비슷한 도구가
xsel
있습니까xclip
?더 좋은 점은 X 서버 실행 여부와 관계없이 작동하여 두 경우 모두 동일한 구성/점 파일을 사용할 수 있는 도구가 있습니까?
마지막으로, 이것이 별개의 질문이라는 점을 인정합니다. 이 클립보드는 SSH 클라이언트의 클립보드와 어떻게 동기화됩니까?
답변1
터미널 애플리케이션에는 범용 클립보드가 없습니다. tmux, zsh 및 vim에는 모두 자체 클립보드가 있습니다.
tmux에는 이스케이프 시퀀스(옵션)를 사용하여 복사된 텍스트를 외부 터미널로 보내고 set-clipboard
클립보드( )를 읽는 메커니즘이 있습니다 refresh-client -l
. 이 기능은 모든 터미널이 아닌 X 터미널에서만 지원됩니다.
set-clipboard
tmux는 또한 tmux 로 설정된 경우 tmux 내의 애플리케이션이 최신 붙여넣기 버퍼를 읽을 수 있도록 하는 동일한 이스케이프 시퀀스(OSC 52)를 지원합니다 on
. 그러나 내가 아는 한 이를 사용하는 응용 프로그램은 거의 없습니다.
tmux를 사용하면 명령을 사용하여 붙여넣기 버퍼를 파일이나 표준 출력에 저장하고 save-buffer
명령을 사용하여 로드할 수도 있습니다 load-buffer
. OSC 52보다 사용하기가 더 쉬울 수 있습니다.
저는 zsh와 vim이 이들 함수 중 하나를 사용하여 클립보드를 설정하고 검색할 수 있는 스크립트를 작성하고 싶습니다.
그렇습니다. tmux 내에서 모든 것을 실행하고, tmux를 사용하여 클립보드를 저장하고, vim, zsh 등에서 가져오고 설정하는 스크립트를 작성하여 무언가를 함께 던질 수 있습니다. 하지만 제 생각에는 직접 해야 할 것 같습니다. 기존 솔루션이 없습니다.