当ZSH_THEME =“随机”时,如何确定您所处的主题

时间:2015-07-26 23:17:38

标签: zsh zshrc oh-my-zsh

我找到了一个我喜欢的主题,但只是在命令行上执行了一个带有大量输出的程序后,所以我不知道当前主题的名称!

以下是我的.zshrc的相关部分:

# Set name of the theme to load.
...
ZSH_THEME="random"

有没有办法确定我在哪个主题?

3 个答案:

答案 0 :(得分:37)

根据here

if [ "$ZSH_THEME" = "random" ]; then
  themes=($ZSH/themes/*zsh-theme)
  N=${#themes[@]}
  ((N=(RANDOM%N)+1))
  RANDOM_THEME=${themes[$N]}
  source "$RANDOM_THEME"
  echo "[oh-my-zsh] Random theme '$RANDOM_THEME' loaded..."

因此,您应该能够使用

打印随机主题的路径
print $RANDOM_THEME

答案 1 :(得分:2)

更新@4a1e1的答案。

oh-my-zsh 的当前版本已经实现了第二个选项 ZSH_THEME_RANDOM_CANDIDATES 与 ZSH_THEME 一起工作

什么时候

    ZSH_THEME="random"
    ZSH_THEME_RANDOM_CANDIDATES=("robbyrussell" "rkj-repos")

对于每个新终端开放,只会应用 robbyrussell 或 rkj-repos 主题。

答案 2 :(得分:2)

应其开发团队的要求,添加了一个新命令来支持此功能:

只需使用:

echo $ZSH_THEME

响应将是用户正在使用的当前主题。