当 ZSH_THEME="random" 时,你如何确定你在哪个主题上
How do you determine which theme you are on when ZSH_THEME="random"
我找到了一个我喜欢的主题,但只是在命令行上执行了一个程序,输出很多,所以我不知道当前主题的名称!
这是我的 .zshrc 的相关部分:
# Set name of the theme to load.
...
ZSH_THEME="random"
有没有办法确定我在哪个主题上?
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
更新@4a1e1 的答案。
当前版本的 oh-my-zsh 已经实现了第二个选项 ZSH_THEME_RANDOM_CANDIDATES 可以协同工作 ZSH_THEME
什么时候
ZSH_THEME="random"
ZSH_THEME_RANDOM_CANDIDATES=("robbyrussell" "rkj-repos")
对于每个新的终端打开,只会应用 robbyrussell 或 rkj-repos 主题。
应其开发团队的要求,添加了一个新命令来支持此功能:
只需使用:
echo $ZSH_THEME
响应将是用户当前使用的主题。
您可以使用 prompt -c
打印当前主题。
注意:我不确定这是哪个版本可用,我的是zsh 5.8
我找到了一个我喜欢的主题,但只是在命令行上执行了一个程序,输出很多,所以我不知道当前主题的名称!
这是我的 .zshrc 的相关部分:
# Set name of the theme to load.
...
ZSH_THEME="random"
有没有办法确定我在哪个主题上?
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
更新@4a1e1 的答案。
当前版本的 oh-my-zsh 已经实现了第二个选项 ZSH_THEME_RANDOM_CANDIDATES 可以协同工作 ZSH_THEME
什么时候
ZSH_THEME="random"
ZSH_THEME_RANDOM_CANDIDATES=("robbyrussell" "rkj-repos")
对于每个新的终端打开,只会应用 robbyrussell 或 rkj-repos 主题。
应其开发团队的要求,添加了一个新命令来支持此功能:
只需使用:
echo $ZSH_THEME
响应将是用户当前使用的主题。
您可以使用 prompt -c
打印当前主题。
注意:我不确定这是哪个版本可用,我的是zsh 5.8