使用 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 中的键盘快捷键停用的主要内容,如果未能解决你的问题,请参考以下文章