我一直在 tmux 和屏幕之间来回切换,现在我又回到了 tmux 上。我一直在为朋友做一些设置,我想制作会话的硬拷贝,以便他可以看到我运行的命令。我知道这在 screen 中是可能的,但是我可以用 tmux 来实现吗?手册页似乎没有任何与硬拷贝相关的内容......
答案1
它不像 in 那样简单screen
,但可以用capture-pane
and来完成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
答案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"