PS1

效果

不用任何插件,一行代码直接实现一个漂亮的 PS1:

  • 青色块为用户与主机区域;
  • 橙色块为目录区域;
  • 如果有 git 分支,用紫色区域显示 git 分支信息。
    file

代码

PS1=$'\[\e[48;5;81m\]\[\e[30m\] \u@\h \[\e[38;5;81m\]\[\e[48;5;208m\]\uE0B0\[\e[30m\] \w $(branch=$(git rev-parse --abbrev-ref HEAD 2>/dev/null); [[ -n "$branch" ]] && echo "\[\e[38;5;208m\]\[\e[48;5;93m\]\uE0B0\[\e[30m\] \uE0A0 $branch \[\e[0m\]\[\e[38;5;93m\]" || echo "\[\e[0m\]\[\e[38;5;208m\]")\uE0B0\[\e[0m\] \\$ '

补充

色彩

某些终端的颜色显示可能存在异常或支持不完整,例如在 tmux 下,部分颜色可能出现不一致的情况。可以使用以下指令进行测试:

for i in {0..255}; do printf "\x1b[48;5;%sm%3d\e[0m " "$i" "$i"; if (( (i + 1) % 16 == 0 )); then echo; fi; done

字符

代码中的三角形符号使用了 Nerd Font 字体。您可以在 https://www.nerdfonts.com/cheat-sheet 中搜索相关字符。例如,对于字符 E0B0,可以通过查找 E0B 来找到类似的替代字符。比如 E0BCE0B4E0C0 都很漂亮。

例如将 E0B0 替换为 E0BC,即可呈现另一种风格的视觉效果:
file

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注