tmux xclip 副本不再有效

Ale*_*lin 8 ubuntu tmux clipboard gnome-terminal xclip

在 mu Ubuntu 12.04 设置上,我的 tmux 剪贴板复制和粘贴命令设置如下:

set -g prefix M-a
unbind C-b
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"
Run Code Online (Sandbox Code Playgroud)

直到大约一个月前,这在最长的时间内都非常有效,当时我怀疑进行了一些配置更改或包更改,从而破坏了上述情况。在 GNOME 终端中,粘贴对于prefix+ctrl-vctrl-shift-v.

然而,xclip无论我做什么,复制命令都不再起作用,我已经尝试删除上面的自定义前缀绑定,使用-select而不是-sel,不使用clipboard等。这对于像我这样的 GVim 用户来说几乎是一个表演塞子,因为我不甚至可以ctrl-shift-c使用 tmux 接管 shell的 GNOME 终端解决方法。我进入复制模式,用space+选择文本movement,当我执行prefix+ 时ctrl-c绝对没有任何反应。在此之前,tmux 会在底部的通知部分显示一条确认消息。

有没有人有关于如何调试这个的建议?这是一个相当大的生产力打击。我现在可能可以使用临时文件解决方法,但很高兴知道xclip.

Gil*_*il' 9

xsel实用程序类似于xclip,但实现方式略有不同。通常我希望它们以相同的方式运行,但它们不会进行完全相同的 X 库调用,因此在某些极端情况下xsel可能会工作但不会xclip,反之亦然。尝试:

bind C-c run "tmux save-buffer - | xsel -ib"
bind C-v run "tmux set-buffer \"$(xsel -ob)\"; tmux paste-buffer"
Run Code Online (Sandbox Code Playgroud)


Paw*_*wka 6

添加-brun-shell(或run)命令解决了这个问题。用-bshell 命令在后台运行。

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