我注意到当通过终端使用 VIM 时,我可以轻松地使用剪贴板寄存器将一行文本复制到我的系统剪贴板V"+y
(也就是说,然后使用Shift+Insert
或将该文本粘贴到我的终端以外的其他窗口中Ctrl+v
。)
现在我注意到,如果我在 tmux 会话中运行 VIM,它就不再起作用了。我知道有一个 tmux 剪贴板,但我实际上从未使用过它。有没有办法仍然可以将提取的文本放入我的系统剪贴板中?
答案1
从这里:
- 确保在 tmux 中设置了 set-clipboard:
$ tmux show -s 设置剪贴板
外部
如果它不在 on 或 external,请将其添加到 .tmux.conf 并重新启动 tmux(在 tmux 2.6 之前使用 on 而不是 external):
设置 -s 设置剪贴板外部
- 确保 Ms 已设置。启动 tmux 并运行:
$ tmux info|grep Ms
180: Ms: [缺失]
如果是[缺失],则获取 tmux 外部的 TERM 值:
$ echo $TERM
rxvt-unicode-256color
然后将适当的终端功能或终端覆盖行添加到 .tmux.conf 并重新启动 tmux。对于 tmux 3.2 或更高版本:
设置-as终端功能',rxvt-unicode-256color:剪贴板'
或者对于旧版本的 tmux:
设置 -as 终端覆盖',rxvt-unicode-256color:Ms=\E]52;%p1%s;%p2%s\007'
然后启动 tmux 并通过在 tmux 内部运行以下命令检查它是否正常工作:
$ tmux info|grep Ms:
180: Ms: (字符串) \033]52;%p1%s;%p2%s\a