有什么方法可以激活/停用日志记录所有输入和输出在 zsh 会话上?
我正在使用 oh-my-zsh 和带有颜色等的自定义提示,我想尽可能保留所有这些(以便我稍后可以在 Emacs 或更少中打开日志文件,并让它们重新解析Ansi 颜色转义码)
zsh 是否提供任何功能来促进这种类型的日志记录?
稍后,可视化日志文件的最佳方式是什么Emacs(或其他编辑器)并让它正确解析所有 Ansi 颜色转义码?
答案1
最简单的方法是使用script
.
script
是一个实用程序,可以创建 TTY,然后在该 TTY 中启动程序。该 TTY 的所有输出也可以记录到文件中。它将记录原始数据,包括 ANSI 转义。
当没有给出要执行的特定命令时,它将生成一个新的 shell。您可以正常使用此 shell,然后在完成后退出该 shell。
例如
script /tmp/mylog
完成后,只需使用 CTRL+D 或exit
离开 shell。
答案2
使用屏幕。引用手册页:
C-a H (log) Begins/ends logging of the current window to
the file "screenlog.n".