在复制模式下运行命令

在复制模式下运行命令

对于我当前的项目,大部分工作都在远程系统上的 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 不起作用

相关内容