
나는 다음과 같은 사용자 정의 .tmux.conf 파일을 사용하고 있습니다.
unbind-key C-b
set -g prefix C-a
bind-key C-a send-prefix
set-window-option -g mode-keys vi
bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'y' copy-selection
## CLIPBOARD selection integration
# Requires prefix key before the command key
# Copy tmux paste buffer to CLIPBOARD
bind C-y run "tmux show-buffer | xclip -i -selection clipboard"
# Copy CLIPBOARD to tmux paste buffer and paste tmux paste buffer
bind C-p run "tmux set-buffer -- \"$(xclip -o -selection clipboard)\"; tmux paste-buffer"
tmux 복사 버퍼에서 클립보드로 복사하려면 ctrl+ a ctrl+를 사용하고 있습니다 . y하지만 이 작업을 수행할 때마다 tmux가 정지되고 어떤 입력도 허용되지 않습니다. ctrl+를 사용해 보았지만 q도움이 되지 않습니다.
tmux가 정지되는 것을 방지하려면 어떻게 해야 합니까? 어떤 단축키가 여기에서 방해가 됩니까? 나는 또한 단축키 ctrl++ a ctrl를 시도했지만 c여기서도 같은 문제가 발생했습니다.
답변1
xclip
명령줄에 명령을 입력하면 완료되지 않는 것을 알 수 있습니다. 그 이유는 다음이 될 때까지 계속해서 입력을 받아들이기 때문입니다.STDIN수행. 따라서,표준 출력절대 닫히지 않습니다. 이 문제는 리디렉션을 통해 해결할 수 있습니다.표준 출력의 .xclip
/dev/null
예를 들어:
bind y run "tmux save-buffer - | xclip -selection clipboard &>/dev/null"
이 예에서는 리디렉션합니다.STDERR중요한 경우를 대비해.
답변2
xclip
tmux가 입력을 수신하지 못하도록 차단하는 입력을 기다리고 있습니다. 다음 예에서는 tmux 세션을 차단하지 않고 xclip이 다른 셸에서 실행되도록 허용합니다.
bind y run-shell -b "tmux save-buffer - | xclip -selection clipboard"
귀하의 작업 흐름에 도움이 되는 메시지도 추가하겠습니다.
bind y run-shell -b "tmux save-buffer - | xclip -selection clipboard; tmux display-message \"Tmux buffer saved to clipboard\" "
이게 도움이 되길 바란다!
답변3
bind y run-shell -b "cat << EOF | tmux save-buffer - | xclip -sel clipboard &>/dev/null"
이렇게 하면 EOF가 xclip을 사용하여 클립보드에 복사한 후 버퍼를 닫을 수 있습니다.