是否可以在 Tmux 中获取硬拷贝?

是否可以在 Tmux 中获取硬拷贝?

我一直在 tmux 和屏幕之间来回切换,现在我又回到了 tmux 上。我一直在为朋友做一些设置,我想制作会话的硬拷贝,以便他可以看到我运行的命令。我知道这在 screen 中是可能的,但是我可以用 tmux 来实现吗?手册页似乎没有任何与硬拷贝相关的内容......

答案1

它不像 in 那样简单screen,但可以用capture-paneand来完成save-buffer。下面的示例将把TARGET窗格(如果没有给出,则为当前窗格)的内容复制到文件中~/tmux.hardcopy

tmux capture-pane -t TARGET \; save-buffer -b 0 ~/tmux.hardcopy H 

可以选择将其添加为 中的绑定tmux.conf,转义“;”有必要的:

bind H capture-pane \; save-buffer -b 0 ~/tmux.hardcopy \; delete-buffer -b 0

正如所见这里

答案2

还,腹膜虫是一个非常好的终端记录器(仅限文本),如果您想在线共享,可以将其与 tmux(或任何终端)一起使用。它上传到 asciinema 站点并提供一个短链接(您可以使用 tmux 中的“url”功能打开该链接)。

这对于辅导来说非常好,因为初学者可以比巨大的文字记录更容易地跟随实时打字。

它在 github 上:西吉尔/阿西内马

答案3

script

开始录音,并且

exit

退出录制会话。不过,制表符自动完成和删除键显示有点奇怪(^G 等)。

答案4

使用上面的答案会导致“无缓冲区 0”错误。在 capture-pane 命令中添加“-b 0”解决了这个问题。我还在 capture-pane 命令中添加了“-e”以保留颜色输出。我还在 save-buffer 命令中添加了“-a”以附加到输出文件而不是覆盖。

这是我的回答:

bind-key h capture-pane -e -b 0 \; save-buffer -a -b 0 ~/tmux.hardcopy \; delete-buffer -b 0 \; display-message "~/tmux.hardcopy updated"

相关内容