我在 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"