从 tmux 内部运行 shell 命令会导致 Gnome 终端崩溃关键

从 tmux 内部运行 shell 命令会导致 Gnome 终端崩溃关键

我在 gnome 终端内运行 tmux,并尝试使用绑定将 tmux 粘贴缓冲区的内容复制到我的 Linux X 剪贴板。网上很多地方都推荐这个:

bind C-c run "tmux save-buffer - | xclip -i -sel clipboard"

该命令在命令行中完美运行:

tmux save-buffer - | xclip -i -sel clipboard

如果我将 shell 命令绑定到一个键并从 tmux 内部使用它(使用bind C-c run "tmux save-buffer - | xclip -i -sel clipboard"),它会将 tmux 保存缓冲区复制到我的剪贴板;一旦我在 tmux 的“复制”模式下复制了一些文本,使用此绑定会将文本加载到我的 X 剪贴板中,准备粘贴到浏览器或其他任何地方。然而,它_还_ 导致前缀键停止为该终端工作。
如果我终止其中运行 tmux 的终端并打开另一个终端并重新附加到 tmux,则前缀键将继续在另一个终端中工作。
我还尝试了以下方法:

设置一个可执行文件:/usr/local/bin/tmux_to_clip其中包含命令

% cat /usr/local/bin/tmux_to_clip 
#!/bin/bash

tmux save-buffer - | xclip -i -sel clipboard

然后从 tmux 内部调用命令

:run tmux_to_clip

它再次成功地将命令复制到剪贴板,但它再次破坏了前缀键。我怎样才能防止这种情况并获得用于将 tmux 复制save-buffer到 X 剪贴板的键绑定?

答案1

我遇到了同样的(烦人的)问题。似乎按照建议使用xsel -ib而不是xclip -i -sel clipboard在这个答案中,有效!

所以最终的绑定应该是: bind C-y run "tmux save-buffer - | xsel -ib"

相关内容