因此,当我打开一个新终端(kitty)时,我的~/.zshrc
资源非常好,oh-my-zsh 可以工作,插件以及 p10k 主题都会加载。但例如,如果我简单地运行zsh
(或tmux
),我会得到一个来源良好的外壳/etc/zshrc
,但它甚至从未尝试检查是否~/.zshrc
存在。 (我检查过zsh -x
。我还设置了来自$ZDOTDIR/zshrc
和$ZDOTDIR/.zshrc
(以防万一)的符号链接指向同一个文件~/.zshrc
。)
我仔细检查了/etc/passwd
一下以确认我的用户将 zsh 作为默认 shell。这是使用 NixOS 的配置进行设置的。该配置的相关部分:
programs.zsh.enable = true;
users.defaultUserShell = pkgs.zsh;
environment.shells = with pkgs; [ zsh ];
我还没有发现/etc/zshenv
或中有任何奇怪的地方/etc/zshrc
。
我已经检查过我在上述所有情况下使用的 shell 确实是 zsh,并且与新终端窗口中默认运行的 shell 相同。
权限没有什么奇怪的。
如果我运行,source ~/.zshrc
看起来一切都按预期运行。
奇怪的是,我确实更新了PATH
我的.zshrc
,并且那更新实际上持续存在,但诸如此类的东西(仅作为示例)ZSH_THEME
是空的。
有人遇到过这种情况吗?或者也许只是一个我还没有尝试去哪里寻找的想法?
哦,一切都更新了,大约一个小时前。
答案1
因此,经过无休止的摆弄,甚至在我的桌面上从 NixOS 切换到 Arch 后,我终于弄清楚了问题所在!事实证明,当我开始时,我ZDOTDIR
不仅.zshrc
zsh
开始忽略其中的一个~/
,而且还忽略其中的一个$ZDOTDIR/
。我很确定它一开始并没有开始忽略它,这就是为什么我之前没有意识到这是问题所在......