我在基于 的 zsh 配置中遇到一些问题oh-my-zsh
,我已在以下位置进行了描述终端中的物理缓冲区与 oh-my-zsh 配置中的显示不一致。
我需要知道是否存在某种日志记录模式zsh
可以生成一些有关实时发生的情况的信息。
另一件事是当前配置的打印,更有知识的人可以使用它来跟踪问题。我所说的配置并不只是指我的配置文件的内容,而是更多一些可以帮助诊断的运行时状态相关信息。
答案1
您有多种选择。
首先,您可以setopt xtrace
或set -x
获取当前 shell 中所有调用的跟踪信息,或使用zsh -x
该选项集启动一个新 shell。这会生成很多不过,调试信息。另外,它甚至可能不包括您感兴趣的所有内容。
如果您更具体地知道要查找的内容,则可以用于functions -t <function name>
要跟踪的特定函数。
但是,我发现跟踪任何.zshrc
配置中的问题的最可靠方法是执行以下操作:
cd "$( mktemp -d )"
ZDOTDIR=$PWD HOME=$PWD zsh -df
这将创建一个临时文件夹并启动一个没有任何配置文件的新子 shell,其配置和主目录设置为临时文件夹。
然后,您可以将相关行.zshrc
粘贴到子 shell 中,逐一执行,直到找到问题开始出现的点。