首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置PS1颜色

设置PS1颜色
EN

Unix & Linux用户
提问于 2019-10-31 19:31:01
回答 2查看 3.5K关注 0票数 8

我想给我的zsh提示符加上颜色。为此,我使用以下代码:

代码语言:javascript
复制
export PS1=%F{blue}%n%#

但是,为了使其正确,我必须将%f添加到PS1值中,如下所示:

代码语言:javascript
复制
export PS1=%F{blue}%n%#%f

当省略%f时,行为很奇怪--不仅颜色会影响提示符,而且当我键入例如ls -l时,其输出的第一行也会被着色:

设置PS1颜色值如何影响其他命令?难道不应该只关注提示符吗?

EN

回答 2

Unix & Linux用户

发布于 2019-10-31 19:50:42

%f告诉zsh外壳停止使用指定的前景色。zsh快速展开手册页说:

%F (%f)使用不同的前景色开始(停止),如果终端支持的话。

如果不告诉zsh重置前景色,那么后续的前景字符就会得到该颜色,直到指定了新的前景色(例如,绿色的普通文件)。

票数 7
EN

Unix & Linux用户

发布于 2019-10-31 19:51:56

有终端命令可以切换到一种颜色。这是维持不变的。然后你就会转回来。这可以直接在终端或您的特殊zsh特定命令中使用Esc代码来完成。

代码语言:javascript
复制
echo \\033[31m red \\033[34m blue \\033[m and black again

(所需反斜杠的数目可能取决于您的shell)

zsh解释%F和%f,并根据终端的不同将它们转换为与上述代码类似的Esc代码。

票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/549751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档