自定义我的 Zsh 提示符

2025-05-24

自定义我的 Zsh 提示符

我有一个小.zshrc文件来定制我的终端,我一直想要一个除了默认提示之外的有趣提示,但实际上并没有做太多去学习它。

因此,经过一番研究,我弄清楚了如何让我的小提示变得有用而不会太过繁琐或分散注意力的基本知识!

它看起来是这样的:

Cassidy 的 ZSH 提示符,包含时间、目录和 git 分支

你可能会注意到,我没有添加用户名、机器名之类的常用信息,因为……我个人不需要这些。不过,读完这篇文章后,你就能自己添加啦!

输入什么

如果您不知道如何打开配置文件,请继续使用vim ~/.zshrccode ~/.zshrc(或您喜欢的任何编辑器)打开它。

首先,将这两行添加到您的.zshrc



autoload -Uz vcs_info
precmd() { vcs_info }


Enter fullscreen mode Exit fullscreen mode

这会将版本控制系统加载到您的提示中(这里是它的文档)。

接下来,您需要将设置 Git 分支详细信息的下一行添加到提示中。



zstyle ':vcs_info:git:*' formats '%b '


Enter fullscreen mode Exit fullscreen mode

%b是分支名称变量。出于格式原因,我在它后面加了一个空格。你可以在字符串中添加其他变量(这里有一篇关于选项的博客,很不错),例如关于存储的信息、仓库根目录的名称、暂存的更改等等。

现在,您将添加最后两行来组合您的提示!



setopt PROMPT_SUBST
PROMPT='%F{green}%*%f %F{blue}%~%f %F{red}${vcs_info_msg_0_}%f$ '


Enter fullscreen mode Exit fullscreen mode

这看上去有点奇怪,让我来分析一下。

颜色!

%F当你用和包围物体时%f,它们之间任何物体的前景色都会改变。 中的颜色{curly braces}是被编辑的颜色。在本例中,你可以看到绿色、蓝色和红色。还有类似的东西,比如用%U%u来加下划线,%K以及%k用于背景颜色等等(文档在这里,滚动到“13.2.5 视觉效果”)。ZSH 默认识别黑色、红色、绿色、黄色、蓝色、洋红色、青色和白色!

日期和时间!

您看到的是时间%*(24 小时制,带秒)。还有更多选项,例如%W日期。相关文档在这里,请滚动到“13.2.4 日期和时间”。

目錄!

显示%~当前工作目录及其路径。如果您想将其替换为其他内容,请参阅文档中的“13.2.3 Shell 状态”。

变量!

现在,下一部分是加载你的变量${vcs_info_msg_0_}。这会将我们之前创建的分支变量放入红色的文本包装器中。

$最后的final只是为了引导用户输入。你可以用>一个;WOW多个变量,或者任何你喜欢的变量来替换它。

完结!

这是您可以粘贴和自定义的完整提示:



autoload -Uz vcs_info
precmd() { vcs_info }

zstyle ':vcs_info:git:*' formats '%b '

setopt PROMPT_SUBST
PROMPT='%F{green}%*%f %F{blue}%~%f %F{red}${vcs_info_msg_0_}%f$ '


Enter fullscreen mode Exit fullscreen mode

保存后,运行source ~/.zshrc即可在终端中加载(或者重启终端/打开新标签页)。因为我喜欢快速打开和编辑,所以我添加了以下别名,以加快打开和加载速度:



alias bp='vim ~/.zshrc'
alias sa='source ~/.zshrc;echo "ZSH aliases sourced."'


Enter fullscreen mode Exit fullscreen mode

现在世界就在你的牡蛎岛了。希望这些对你有帮助!

文章来源:https://dev.to/cassidoo/customizing-my-zsh-prompt-3417
PREV
React 18 Alpha 版发布!现在该做什么?
NEXT
68 个大大小小的项目助你成为更优秀的开发者🎉