我喜欢bash中所谓的“彩虹提示”:
我生产的:
export PS1="\[$(tput bold)\]\[$(tput setaf 1)\][\[$(tput setaf 3)\]\u\[$(tput setaf 2)\]@\[$(tput setaf 4)\]\h \[$(tput setaf 5)\]\W\[$(tput setaf 1)\]]\[$(tput setaf 7)\]\\$ \[$(tput sgr0)\]"
不幸的是,该代码在zsh(这是我的主shell)中不起作用。
如何在zsh中完成相同的结果?
答案 0 :(得分:3)
它在zsh
中更简单,因为shell提供了与终端无关的转义序列来设置颜色。例如:
PS1='%B[%F{red}%n%F{green}@%F{blue}%m %F{purple}%~] %# %b%f'
%B
/ %b
- 开启/关闭加粗%F{...}
- 设置前景色。对于基本颜色,可以使用颜色名称,对于具有较大调色板的终端,可以使用%F{173}
等整数索引。%f
- 关闭对前景色的更改(即使用默认颜色)%n
- 用户名%m
- 主机名最多为.
%~
- 目录名称%#
- #
代表root用户,%
代表普通用户(如果您仍然需要$
代替%
,这只是一般条件序列(!.#.%%)
,您可以将其替换为(!.#.$)
。)参见man zshmisc
,"扩展提示序列"完整列表。