为了更好地识别命令行输出的开始和结束,我想改变提示符的颜色,使其与程序输出明显不同。当我使用zsh时,有人能给我一个提示吗?
当前回答
为了补充上述所有答案,另一个方便的技巧是将彩色提示设置放入zsh函数中。在那里你可以定义局部变量来别名较长的命令,例如rc=$reset_color或定义你自己的颜色变量。不要忘记把它放在你的.zshrc文件中,并调用你已经定义的函数:
# Coloured prompt
autoload -U colors && colors
function myprompt {
local rc=$reset_color
export PS1="%F{cyan}%n%{$rc%}@%F{green}%m%{$rc%}:%F{magenta}%~%{$rc%}%# "
}
myprompt
其他回答
要根据最后一个命令的退出状态获得颜色提示符,您可以使用以下命令:
PS1='%(?.%F{green}.%F{red})%n@%m:%~%# %f'
只需将这一行添加到~/.zshrc。
文档列出了可能的占位符。
我不认为自动加载-U颜色和&颜色是需要的了,你可以简单地做:
PS1="%{%F{red}%}%n%{%f%}@%{%F{blue}%}%m %{%F{yellow}%}%~ %{$%f%}%% "
以达到与FireDude的答案相同的结果。有关更多信息,请参阅ZSH文档。
布莱恩·奥克利上面的答案有一个故障,因为它已经指出了,安德鲁·马歇尔提供的解决方案,虽然它没有携带故障,但它并没有使它对使用的颜色进行过多的定制。
由于macOS Catalina要求从现在开始将zsh作为默认shell,我认为更多的人可能想要自定义他们的提示符,并可能会来这里寻求答案。因此,我想我将尝试给出一个更广泛的总结,并触及其他非常密切相关的概念,允许更多的定制。
各种颜色的3位数代码。 首先,在这里我们可以找到各种颜色的3位数代码:https://unix.stackexchange.com/a/124409/194343。 例如,214是某种橙色。
前景和背景。 另一个关键信息是,对于前景和背景色,可以分别用F和K定义它们想要的颜色。来源是zsh视觉效果手册:http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html#Visual-effects
例如,下面两个命令
autoload -U colors && colors
export PS1="%F{214}%K{000}%m%F{015}%K{000}:%F{039}%K{000}%~%F{015}%K{000}\$ "
显示带有黑色背景的橙色主机名,后面是带有黑色背景的白色冒号,后面是带有黑色背景的亮蓝色当前工作目录,然后是带有黑色背景的白色美元符号。
更多相关信息见下文。
右侧显示提示信息。例如,添加时间戳。见https://superuser.com/a/1251045/290299。当然,这可以用颜色编码,例如用一些浅蓝色/略带紫色,像这样:
RPROMPT="%F{111}%K{000}[%D{%f/%m/%y}|%@]"
ls的颜色。在阅读ls的手册后,例如可以使用以下两个命令激活ls的颜色:
export CLICOLOR=1
export LSCOLORS=gafacadabaegedabagacad
最后,作为最后的评论,我没有测试,因为我对我的配置很满意,另一种方法可能是让某人从MacPorts安装端口coreutils,然后使用gdircolors(来源:https://unix.stackexchange.com/a/174596/194343)。(我可能会在将来编辑最后一部分,因为上面所有的文章都是相关的,让日常生活更有趣,更容易应付。)
Zsh自带彩色提示。试一试
autoload -U promptinit && promptinit
然后prompt -l列出可用的提示,-p fire预览“fire”提示,-s fire设置它。
当你准备添加一个提示符时,在上面的自动加载行下面添加如下内容:
prompt fade red
为了补充上述所有答案,另一个方便的技巧是将彩色提示设置放入zsh函数中。在那里你可以定义局部变量来别名较长的命令,例如rc=$reset_color或定义你自己的颜色变量。不要忘记把它放在你的.zshrc文件中,并调用你已经定义的函数:
# Coloured prompt
autoload -U colors && colors
function myprompt {
local rc=$reset_color
export PS1="%F{cyan}%n%{$rc%}@%F{green}%m%{$rc%}:%F{magenta}%~%{$rc%}%# "
}
myprompt
推荐文章
- 如何在新的材质主题中改变背面箭头的颜色?
- 我如何改变我的提示在zsh的颜色(不同于正常的文本)?
- 如何改变循环进度指示器的颜色
- 从输出中删除颜色
- 寻找ALT+LeftArrowKey解决方案在zsh
- 如何比较两种颜色的相似/不同
- 用JavaScript创建一个基于字符串的十六进制颜色
- 我如何获得iOS 7默认的蓝色编程?
- 如何在一张图中为不同的地块得到不同颜色的线条
- 在Android上理解颜色(6个字符)
- 如何将一个颜色整数转换为十六进制字符串在Android?
- [nyae]在Zsh中是什么意思?
- HSL到RGB的颜色转换
- 如何自动生成N“不同”的颜色?
- 从matplotlib中的颜色映射中获取单个颜色