为了更好地识别命令行输出的开始和结束,我想改变提示符的颜色,使其与程序输出明显不同。当我使用zsh时,有人能给我一个提示吗?
当前回答
试试我最喜欢的: 放在
~/.zshrc
这条线:
PROMPT='%F{240}%n%F{red}@%F{green}%m:%F{141}%d$ %F{reset}'
不要忘记
source ~/.zshrc
为了测试更改
当然,你可以改变颜色/颜色代码:-)
其他回答
Zsh自带彩色提示。试一试
autoload -U promptinit && promptinit
然后prompt -l列出可用的提示,-p fire预览“fire”提示,-s fire设置它。
当你准备添加一个提示符时,在上面的自动加载行下面添加如下内容:
prompt fade red
我不认为自动加载-U颜色和&颜色是需要的了,你可以简单地做:
PS1="%{%F{red}%}%n%{%f%}@%{%F{blue}%}%m %{%F{yellow}%}%~ %{$%f%}%% "
以达到与FireDude的答案相同的结果。有关更多信息,请参阅ZSH文档。
把这个放到~/.zshrc:
autoload -U colors && colors
PS1="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~ %{$reset_color%}%% "
支持颜色: 红色,蓝色,绿色,青色,黄色,品红,黑色和白色(从这个答案),尽管不同的计算机可能有不同的有效选项。
用%{....%}包围颜色代码(以及任何其他不可打印的字符)。这是为了让文本换行正确工作。
此外,下面是如何让它与这里的目录修剪一起工作。
PS1="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%(5~|%-1~/.../%3~|%4~) %{$reset_color%}%% "
man zshall和搜索PROMPT EXPANSION
在阅读了这里现有的答案后,其中一些答案是相互矛盾的。我在运行zsh 4.2和5+的系统上尝试了各种方法,发现这些答案相互冲突的原因是它们没有说明它们针对的是哪个zsh版本。不同的版本使用不同的语法,其中一些需要各种自动加载。
So, the best bet is probably to man zshall and search for PROMPT EXPANSION to find out all the rules for your particular installation of zsh. Note in the comments, things like "I use Ubuntu 11.04 or 10.4 or OSX" Are not very meaningful as it's unclear which version of ZSH you are using. Ubuntu 11.04 does not imply a newer version of ZSH than ubuntu 10.04. There may be any number of reasons that an older version was installed. For that matter a newer version of ZSH does not imply which syntax to use without knowing which version of ZSH it is.
布莱恩·奥克利上面的答案有一个故障,因为它已经指出了,安德鲁·马歇尔提供的解决方案,虽然它没有携带故障,但它并没有使它对使用的颜色进行过多的定制。
由于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的颜色(不同于正常的文本)?
- 如何改变循环进度指示器的颜色
- 从输出中删除颜色
- 寻找ALT+LeftArrowKey解决方案在zsh
- 如何比较两种颜色的相似/不同
- 用JavaScript创建一个基于字符串的十六进制颜色
- 我如何获得iOS 7默认的蓝色编程?
- 如何在一张图中为不同的地块得到不同颜色的线条
- 在Android上理解颜色(6个字符)
- 如何将一个颜色整数转换为十六进制字符串在Android?
- [nyae]在Zsh中是什么意思?
- HSL到RGB的颜色转换
- 如何自动生成N“不同”的颜色?
- 从matplotlib中的颜色映射中获取单个颜色