我最近更新了终端以使用 zsh,这样做后,新终端窗口上的提示现在显示:\[\033[1;92m\]\h:\[\033[0m\] \[\033[0;34m\][\W]\[\033[0m\] \[\033[0;31m\]\u$\[\033[0m\]
而不是我之前设置的自定义提示。
对于更新 bash 配置文件以在终端中再次显示自定义提示或清理默认终端提示以使用基于 zsh 的配置文件显示所需的设备名称、路径等有什么建议吗?
答案1
答案2
\e[92m
是在支持 16 种(或更多)ANSI 颜色的终端上将前景色设置为颜色 10(亮绿色)的序列。这是例如echoti setaf 10
(terminfo)或(termcap)(也或取决于系统)在引用此类终端时发送的序列。echotc AF 10
tput setaf 10
tput AF 10
$TERM
\e[1m
是一个大胆的。
在zsh
迅速扩张中,
%B
它转动大胆的打开,%b
将其关闭。%10F
将前景色设置为10,%F{#00ff00}
对于RGB规范(对于支持它的终端,zmodload zsh/nearcolor
可以用于从调色板中获取最接近的颜色,对于不支持它的终端),%f
重置为默认前景色。%F{blue}
适用于基本的 8 种较低颜色 (\e[3xm
)。- 相当于 bash 的
\h
,\W
,\u
应该是%m
,%~
,%n
就像在 tcsh 中一样
所以相当于bash的
\[\033[1;92m\]\h:\[\033[0m\] \[\033[0;34m\][\W]\[\033[0m\] \[\033[0;31m\]\u$\[\033[0m\]
应该是这样的:
%10F%B%m: %b%4F[%~] %1F%n$ %f
答案3
在不使用这么多令人困惑的反斜杠的情况下设置提示的更简单方法Zsh
是使用tput
命令。例如,以下是将提示字符串设置为粗体且前景色为黄色的方法:
promptText="megh$ "
PS1="%{$(tput bold)$(tput setaf 3)%}$promptText%{$(tput sgr0)%}"
为了转义不可打印的字符,需要将它们放入%{ ... %}
Zsh 中。对于 Bash,请将它们放在里面\[ ... \]
或\001 ... \002
改为。
更多解释这里