使用 xclip 后,Tmux 中的键盘快捷键停用

Posted

技术标签:

【中文标题】使用 xclip 后,Tmux 中的键盘快捷键停用【英文标题】:Keyboard shortcuts in Tmux deactivated after using xclip 【发布时间】:2013-09-30 18:58:34 【问题描述】:

我在我的 .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 C-c 例如,文本会粘贴到另一个应用程序中,但之后所有 tmux 命令都不会在 tmux 终端中工作(例如 C-prefix [ 进入复制模式等)

我的配置有什么问题?

【问题讨论】:

如果将第二个绑定更改为以下内容是否有效? bind C-v run "</dev/null xclip -o -sel clipboard|tmux load-buffer - \\; paste-buffer" @ChrisJohnsen:它不起作用:( 【参考方案1】:

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

似乎 xclip 在从 tmux 的缓冲区读取数据后并没有关闭 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"

【讨论】:

【参考方案2】:

对我来说,切换到 xsel 而不是 xclip 就可以了。

【讨论】:

你能分享一下你的使用情况吗?可能会吸引更多人使用您的答案。 希望我还在使用它的时候这样做。现在我不再使用 tmux 了:-(

以上是关于使用 xclip 后,Tmux 中的键盘快捷键停用的主要内容,如果未能解决你的问题,请参考以下文章

Tmux Linux 分屏工具

Tmux 学习摘要2--配置

Tmux 简单配置使用

如何在 shell 脚本中实现 tmux 的 detach

tmux使用

tmux使用