答案1
您没有提到您如何尝试滚动。如果您尝试滚动终端窗口本身,那么这将不起作用,因为 Tmux 是全屏应用程序。这就像尝试滚动vim
(或任何其他编辑器)。
然而,有多种选择:
Tmux复制模式
用于激活 Tmux 回滚机制(称为复制模式)的默认键绑定是Prefix(通常为Ctrl+ B),后跟[。然后通过箭头键滚动。
保存整个缓冲区
您还可以通过(至少)两种方式之一将整个缓冲区检索到文件中。首先,如果出现提示,您可以:
tmux capture-pane -pS - > ~/tmux-buffer.txt
但既然你提到你的 Python 编程正在运行,你需要:
- 使用以下命令访问 Tmux 命令提示符Prefix:
- 使用以下命令将窗格保存到缓冲区:
capture-pane -S -
- 再次访问 Tmux 提示符 ( Prefix:)
- 将缓冲区保存到文件中:
save-buffer ~/tmux-buffer.txt
另一种方法是结合前面的两个选项并tmux
在 a 中运行命令run-shell
:
- 使用以下命令访问 Tmux 命令提示符Prefix:
- 通过以下方式运行第一个 Tmux 命令:
run-shell "tmux capture-pane -pS - > ~/tmux-buffer.txt"
将缓冲区发送到另一个寻呼机
从命令行:
tmux capture-pane -pS - | less
从 Tmux 命令提示符处:
run-shell "tmux capture-pane -pS - | less"
更好的是,保留转义码,您可以包含其他格式和颜色:
tmux capture-pane -epS - | less -r
球座
tee
最后,不要忘记在这种情况下的用处。如果您事先知道要捕获程序的输出,请使用以下命令将其发送到屏幕和文件tee
:
python myprog.py 2>&1 | tee ~/myprog-out.txt
当然,这将捕获stdout
和。stderr
当然,对于之前所有的 Tmux 处理方式,额外的提前规划实际上是没有必要的。