ZSH-噢,我的ZSH:修改提示
我试图修改PROMPT变量以包含一些附加信息。我当前的提示还包括右侧的git状态。看起来是这样的:ZSH-噢,我的ZSH:修改提示,zsh,oh-my-zsh,Zsh,Oh My Zsh,我试图修改PROMPT变量以包含一些附加信息。我当前的提示还包括右侧的git状态。看起来是这样的: ex2 ➤ git:master* 相同的屏幕截图: 我想在当前文件夹前面添加一些文本,比如[Drone]。我目前的做法如下:
ex2 ➤ git:master*
相同的屏幕截图:
我想在当前文件夹前面添加一些文本,比如[Drone]。我目前的做法如下:
export PROMPT=%{"$fg[green] [Donre]"$fg[$NCOLOR]%}%c ➤ %{$reset_color%}
但这造成了两个问题。
1.箭头字符的解析不再正确,我得到一个错误,如
" not valid in this context: ➤"
二,。git状态被推到下一行。
新提示显示为
/home/arul/.zshrc:export:100: not valid in this context: ➤
[Drone]ex2 git:maste
r*
相同的屏幕截图:
有人能帮我正确地修改提示符吗?
%{…}
不会漏掉其中包含的任何空格;您应该引用整个值,以确保为赋值正确转义任何包含的空格
export PROMPT="%{$fg[green] [Donre]$fg[$NCOLOR]%}%c ➤ %{$reset_color%}"
按原样,箭头字符被视为export
命令的一个单独参数(在该参数处为无效参数名)<代码>导出,顺便说一下,可能没有必要。每个需要PROMPT
值的shell很可能正在执行包含此赋值的任何配置文件
export PROMPT="%{$fg[green] [Donre]$fg[$NCOLOR]%}%c ➤ %{$reset_color%}"
考虑使用
zsh
自己对颜色的支持,这样就根本不需要%{…}
PROMPT="%F{green} [Donre]%F{...}%c ➤ %f"
(其中,
..
是$NCOLOR
表示的任何颜色)。您是否可以用实际复制粘贴的文本(在代码块中)替换图像。这几乎是不可读的(当然对视力受损的人来说是不可读的)。在屏幕截图的同时添加了文本。正在进行向下投票的人,你能告诉我向下投票的原因吗。我不反对你投反对票,但如果你不写下投反对票的理由,我就没有办法改进这个问题。我不确定否决票是由于问题的提出方式还是实际问题本身。如果最后我得到了我想要的答案,我很高兴能得到反对票。我再也不会犯错误了。但是出现在右边的GIT状态被推到了下一行。有什么办法可以避免这种情况吗?我看不到任何可能导致这种情况的原因。RPROMPT
的值是多少?%{$fg[$NCOLOR]]}%p$(git\u prompt\u info)%{$reset\u color%}这是在我对prompt变量进行任何更改之前RPROMPT的默认值。git\u prompt\u info
返回的字符串可能包含需要包含在%{…}
中的字符。同样,使用zsh
的VCS功能可能比使用为bash
设计的功能要好。