我想更改 zsh 中输入文本的颜色(我为每个命令键入的文本)。示例:在user@host> ls ~/
我想要ls ~/
为黄色以从标准输出中脱颖而出。
我知道我可以完成这个bash using
export PS1=" $BIGreen \u@\h \w \$ $IYellow"
在提示结束时,颜色设置为黄色,我输入的输入文本为黄色(定义了适当的颜色变量)。进而
trap 'echo -ne "\e[0m"' DEBUG
当显示我的命令的输出时,它将颜色重置为正常。
我怎样才能做到这一点zsh?目前,我有
PROMPT=$'{$fg[green]%}%n@%{$fg[green]%}%m %# %{$fg[yellow]%}'
在 .zshrc 中(最后将颜色设置为黄色)但它不起作用。 (我也不知道如何在命令后将颜色设置回白色)。
尝试这个:
PROMPT="%F{green}%n@%m %# %F{yellow}"
preexec () { echo -ne "\e[0m" }
我尝试使用trap
,但看起来像DEBUG
直到命令运行之后/下一个提示之前才会发生,因此命令最终以黄色执行。这preexec()
函数在命令执行之前被调用,因此您可以在那里恢复默认颜色。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)