为了更好地识别命令行上输出的开始和结束,我想更改提示的颜色,以便它与程序输出明显不同.当我使用zsh时,任何人都可以给我一个提示吗?
把它放进去~/.zshrc
:
autoload -U colors && colors PS1="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~ %{$reset_color%}%% "
支持的颜色:
红色,蓝色,绿色,青色,黄色,洋红色,黑色和白色(来自此答案),虽然不同的计算机可能有不同的有效选项.
环绕颜色代码(以及任何其他不可打印的字符)red
.这是为了使文本包装正常工作.
此外,这里是你如何能得到这个与从目录修剪工作在这里.
PS1="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%(5~|%-1~/.../%3~|%4~) %{$reset_color%}%% "
Zsh内置了彩色提示.尝试
autoload -U promptinit && promptinit
然后prompt -l
列出可用的提示,-p fire
预览"开火"提示,-s fire
设置它.
当您准备添加提示时,在上面的自动加载行下面添加如下内容:
prompt fade red
以下是如何设置红色提示的示例:
PS1=$'\e[0;31m$ \e[0m'
神奇的是\e[0;31m
(打开红色前景)和\e[0m
(关闭角色属性).这些被称为转义序列.不同的转义序列为您提供不同的结果,从绝对光标定位到颜色,再到能够更改窗口的标题栏等等.
有关转义序列的更多信息,请参阅ANSI转义码的维基百科条目
我认为autoload -U colors && colors
不再需要了,人们可以这样做:
PS1="%{%F{red}%}%n%{%f%}@%{%F{blue}%}%m %{%F{yellow}%}%~ %{$%f%}%% "
达到与FireDude的答案相同的结果.有关详细信息,请参阅ZSH文档.