如何在Oh My Zsh中更改提示符并添加主机名?

6

我的oh my zsh提示符类似于:

tenant-application git:(beta-4-1) 

I want it to read something like:

homestead tenant-application git:(beta-4-1) 

我希望能够理解机器的主机名或类似信息。

当我输入echo $PROMPT时,它会显示:

${ret_status} %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)

我试过:
export PROMPT=${ret_status} ${hostname} %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)

但是错误信息显示:
zsh: not an identifier: %{^[[36m%}%c%{^[[00m%}

我做错了什么,如何使正确的事情变得永久?

我认为你可能会在这里找到正确的答案: https://dev59.com/W10a5IYBdhLWcg3wipTk - Bogdan Stoica
1个回答

12

添加引号以避免立即扩展表达式。使用%m可以插入第一个点之前的主机名,使用%M可以插入完整主机名(请参见http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html)。

因此,该命令应该起作用:

export PROMPT='${ret_status} %m %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)'
为了使这个变化永久生效,你可以将以下这行代码添加到你的主目录下的.zshrc文件中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接