问题就在这里。我目前在 zsh 中使用 agnoster
主题。它在 iTerm 中看起来很棒,但在终端中看起来像这样。
换句话说,它看起来真的很难看。所以我对两种解决方案感兴趣:
终端和 iTerm 有不同的 zsh 主题。所以我可以使用 iTerm 的 agnoster 和终端的其他一些主题。 (例如:
<robbyrussell
在终端中看起来不错,所以我希望为 iTerm 使用agnoster
,为终端使用robbyrussell
。进行一些修改,以便
agnoster
在终端中看起来正常。
我让它工作了,显然我在 if 条件中缺少一个空格,这使得它完全无用。这是它在我的 zshrc
if [ "$TERM_PROGRAM" = "Apple_Terminal" ]; then
ZSH_THEME="robbyrussell"
else
ZSH_THEME="agnoster"
fi
最佳答案
Terminal 和 iTerm 设置环境变量 TERM_PROGRAM
。
终端:Apple_Terminal
iTerm:iTerm
如果您使用 PathFinder
的终端,则 TERM_PROGRAM
未设置。
打开您的 oh-my-zsh 配置并使用以下结构:
OHMYTHEMES=(
# your favourite themes
)
[ "$TERM_PROGRAM" = "iTerm" ] && OHMYTHEMES+=agnoster
ZSH_THEME=${OHMYTHEMES[(($RANDOM % ${#OHMYTHEMES} + 1))]} # chooses theme among your favourite randomly
就您所知什么是 zsh
而言,我假设您至少了解一点 shell 脚本,并且可以根据您的代码进行调整。
关于terminal - 终端和 iTerm 有不同的 zsh 主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31470132/