oh-my-zsh 主题似乎不会更新,除非我重新启动 zsh

oh-my-zsh 主题似乎不会更新,除非我重新启动 zsh

我已经开始制作自己的oh-my-zsh主题,但遇到了一些问题。我正在尝试根据分支的名称更改 git 输出的颜色,除了一个重要的警告之外,它工作得很好:它在zsh启动时将颜色更改为正确的颜色,但从不重新评估颜色应该是什么除非我重新启动zsh

这是实际问题的屏幕截图:

问题截图

zsh这是我当前主题的要点

我是否做错了什么,或者是否oh-my-zsh支持zsh这种事情?

答案1

我没有使用过 oh-my-zsh (呃-哦),但我确实使用了 zsh,它和其他 shell 都使用过不是在命令之间重新加载配置文件。您必须使用 source 命令显式重新加载它们:

source ~/.zsh_config_file_you_modified_or_another_file

或者

. ~/.zsh_config_file_you_modified_or_another_file

启动一个新的 zsh shell 就可以做到这一点(完全使用新的登录 shell,部分使用新的子 shell,就像您在上面的右窗格中所做的那样)。

登录时加载的 zsh 配置文件与普通 shell 上加载的 zsh 配置文件的完整列表是:

╔════════════════╦═══════════╦═══════════╦══════╗  
║                ║Interactive║Interactive║Script║  
║                ║login      ║non═login  ║      ║  
╠════════════════╬═══════════╬═══════════╬══════╣  
║/etc/zshenv     ║    A      ║    A      ║  A   ║  
╠════════════════╬═══════════╬═══════════╬══════╣  
║~/.zshenv       ║    B      ║    B      ║  B   ║  
╠════════════════╬═══════════╬═══════════╬══════╣  
║/etc/zprofile   ║    C      ║           ║      ║   
╠════════════════╬═══════════╬═══════════╬══════╣   
║~/.zprofile     ║    D      ║           ║      ║  
╠════════════════╬═══════════╬═══════════╬══════╣  
║/etc/zshrc      ║    E      ║    C      ║      ║  
╠════════════════╬═══════════╬═══════════╬══════╣  
║~/.zshrc        ║    F      ║    D      ║      ║  
╠════════════════╬═══════════╬═══════════╬══════╣  
║/etc/zlogin     ║    G      ║           ║      ║  
╠════════════════╬═══════════╬═══════════╬══════╣  
║~/.zlogin       ║    H      ║           ║      ║  
╠════════════════╬═══════════╬═══════════╬══════╣  
║                ║           ║           ║      ║  
╠════════════════╬═══════════╬═══════════╬══════╣  
║                ║           ║           ║      ║  
╠════════════════╬═══════════╬═══════════╬══════╣  
║~/.zlogout      ║    I      ║           ║      ║  
╠════════════════╬═══════════╬═══════════╬══════╣  
║/etc/zlogout    ║    J      ║           ║      ║  
╚════════════════╩═══════════╩═══════════╩══════╝  

如果文件存在,它们首先加载到 A 中,然后加载到 B、C、D 等中。I 和 J 仅在注销/退出登录 shell 时加载/运行。

相关内容