对于我当前的项目,大部分工作都在远程系统上的 tmux 中进行。有时,我想将文本从远程系统复制到本地计算机(即用于发送电子邮件)。我当前的工作流程是
- 进入 tmux 复制模式,复制文本
:save-buffer ~/clipboard
在 tmux 中运行- 在我的本地计算机上,我有一个别名为
ssh remote-machine 'cat ~/clipboard' | pbcopy
这是一个巨大的痛苦,我想知道是否有办法在复制模式下运行脚本。具体来说,有没有办法可以将命令绑定:save-buffer ~/clipboard
到在复制模式下按 Enter 键? (或者可能在缓冲区更新时?)
我通过 ssh 连接到远程计算机的机器不是恒定的,因此如果我仍然需要在我的 mac 上运行该命令也没关系。
答案1
当处于复制模式时,您可以使用copy-pipe <command>
,使用诸如 之类的命令cat > ~/clipboard
。
在 Tmux 2.5 或更高版本中,您可以将其绑定到 Enter
bind-key -T copy-mode Enter send-keys -X copy-pipe "cat > ~/clipboard"
(或者-T copy-mode-vi
,取决于您的mode-keys
设置)
也可以看看:复制粘贴功能与 xclip 不起作用