当前位置:  开发笔记 > 运维 > 正文

如何在zsh中更改提示的颜色(与普通文本不同)?

如何解决《如何在zsh中更改提示的颜色(与普通文本不同)?》经验,为你挑选了4个好方法。

为了更好地识别命令行上输出的开始和结束,我想更改提示的颜色,以便它与程序输出明显不同.当我使用zsh时,任何人都可以给我一个提示吗?



1> Joe the Pers..:

把它放进去~/.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%}%% "


`%{...%}`表示内容将被解释为文字转义序列,因此在打印序列时光标不会移动.如果你不使用它,颜色代码实际上可以移动光标并产生不希望的效果.这在[zshmisc手册页]的"视觉效果"部分中有记录(http://linux.die.net/man/1/zshmisc)
同意,到目前为止,最好的答案(幸运的是,这个答案是谷歌的第三个结果;)
不适合我.:(`zsh:colors:找不到函数定义文件
@chakrit用允许的颜色更新答案.

2> Mitro..:

Zsh内置了彩色提示.尝试

autoload -U promptinit && promptinit

然后prompt -l列出可用的提示,-p fire预览"开火"提示,-s fire设置它.

当您准备添加提示时,在上面的自动加载行下面添加如下内容:

prompt fade red


加一用于显示官方方式。

3> Bryan Oakley..:

以下是如何设置红色提示的示例:

PS1=$'\e[0;31m$ \e[0m'

神奇的是\e[0;31m(打开红色前景)和\e[0m(关闭角色属性).这些被称为转义序列.不同的转义序列为您提供不同的结果,从绝对光标定位到颜色,再到能够更改窗口的标题栏等等.

有关转义序列的更多信息,请参阅ANSI转义码的维基百科条目


它正在工作,但字符串前的$使zshrc出现故障.当我使用制表时,文本放在左侧.我更喜欢@Joe的回答
@Masi尝试$'string'
@ erikb85:你为什么说这是错的?我能做些什么来使答案更好吗?对我来说,做上面给我一个红色的美元符号,所以我不明白为什么你认为这是错的.

4> Andrew Marsh..:

我认为autoload -U colors && colors不再需要了,人们可以这样做:

PS1="%{%F{red}%}%n%{%f%}@%{%F{blue}%}%m %{%F{yellow}%}%~ %{$%f%}%% "

达到与FireDude的答案相同的结果.有关详细信息,请参阅ZSH文档.

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有