5

我在 .tmux.conf 中使用以下配置从 xclip 来回复制文本

bind C-c run "tmux save-buffer - | xclip -i -sel clipboard"
bind C-v run "tmux set-buffer \"$(xclip -o -sel clipboard)\"; tmux paste-buffer"

例如,如果我运行 C-prefix Cc,文本将粘贴到另一个应用程序中,但之后所有 tmux 命令都无法在 tmux 终端中运行(例如,C-prefix [ 进入复制模式等)

我的配置有什么问题?

4

2 回答 2

13

根据https://wiki.archlinux.org/index.php/Tmux#X_clipboard_integration

从 tmux 的缓冲区读取后,xclip 似乎没有关闭 STDOUT。因此,tmux 不知道复制任务已经完成,并继续 /await xclip 的终止,从而使窗口管理器无响应。要解决这个问题,您可以通过 run-shell -b 而不是 run 执行命令,您可以将 xclip 的 STDOUT 重定向到 /dev/null,或者您可以使用 xsel 等替代命令。

将绑定更新为PREFIX C-c以下内容为我修复了它:

bind C-c run "tmux save-buffer - | xclip -i -sel clipboard > /dev/null"
于 2014-01-17T15:56:46.257 回答
0

对我来说,切换到xsel而不是xclip成功了。

于 2017-07-20T07:58:17.237 回答