使用 ctrl-prefix ctrl-y 时 tmux 冻结

Rez*_*eza 6 linux tmux

我正在使用一个自定义的 .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"
Run Code Online (Sandbox Code Playgroud)

我使用的ctrl+ a ctrl+y从TMUX复制缓冲区复制到剪贴板。但是每次我这样做时 tmux 都会冻结并且不接受任何输入。我尝试使用ctrl+q但这没有帮助。

我能做些什么来防止 tmux 冻结,哪些快捷方式在这里干扰?我也试过快捷ctrl+ a ctrl+c在这里,同样的问题。

小智 7

如果您xclip在命令行上键入命令,您会注意到它没有完成。这是因为它会继续接受输入,直到STDIN完成。因此,STDOUT永远不会关闭。您可以通过重定向解决此STDOUTxclip/dev/null。例如:

bind y run "tmux save-buffer - | xclip -selection clipboard &>/dev/null"
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我也会重定向STDERR,以防万一。