当 ZSH_THEME="random" 时如何确定你所在的主题

问题描述 投票:0回答:6

我发现了一个我喜欢的主题,但只是在命令行上执行一个程序并有很多输出之后,所以我不知道当前主题的名称!

这是我的 .zshrc 的相关部分:

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

有办法确定我所在的主题吗?

zsh zshrc oh-my-zsh
6个回答
67
投票

根据

oh-my-zsh.sh
L81-87

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

15
投票

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

只需使用:

echo $ZSH_THEME

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


7
投票

更新@4a1e1的答案。

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

什么时候

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

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


6
投票

在更新版本中,您可以使用

omz theme list
列出当前主题。它将列出当前主题以及 oh-my-zsh 的可用主题。

io :: ~ % omz theme list                                                                                                                                                                  
Current theme: flazz

Custom themes:
example

Built-in themes:
3den                    Soliah                  adben                   af-magic                afowler                 agnoster                alanpeabody
amuse                   apple                   arrow                   aussiegeek              avit                    awesomepanda            bira

0
投票

如果您使用的是 mac 终端,则可以使用

echo $RANDOM_THEME
enter image description here


-1
投票

您可以使用

prompt -c
它将打印当前主题。

注意:我不确定从哪个版本可用,我的是

zsh 5.8

© www.soinside.com 2019 - 2024. All rights reserved.