我在 .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 [ 进入复制模式等)
我的配置有什么问题?
根据https://wiki.archlinux.org/index.php/Tmux#X_clipboard_integration 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"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)