ZSH - Oh My Zsh:修改 PROMPT
ZSH - Oh My Zsh: modify PROMPT
我正在尝试修改 PROMPT 变量以包含一些附加信息。我当前的 PROMPT 还在右侧包含 git 状态。它看起来像这样:
ex2 ➤ git:master*
相同的屏幕截图:
我想在当前文件夹前面添加一些文字 -- 例如 [Drone]。我目前是这样做的,
export PROMPT=%{"$fg[green] [Donre]"$fg[$NCOLOR]%}%c ➤ %{$reset_color%}
但这会产生两个问题。
1. 箭头字符不再被正确解析,我得到一个类似
的错误
" not valid in this context: ➤"
2。 git 状态被推到下一行。
新提示显示为,
/home/arul/.zshrc:export:100: not valid in this context: ➤
[Drone]ex2 git:maste
r*
相同的屏幕截图:
有人可以帮我正确修改 PROMPT 吗?
%{...}
不转义其中包含的任何空格;您应该引用 entire 值以确保任何包含的空格都被正确转义以进行赋值。
export PROMPT="%{$fg[green] [Donre]$fg[$NCOLOR]%}%c ➤ %{$reset_color%}"
照原样,箭头字符被视为 export
命令的单独参数(以及无效的参数名称)。 export
,顺便说一句,可能是不必要的。每个需要 PROMPT
值的 shell 都可能执行包含此分配的任何配置文件。
考虑使用 zsh
自己的颜色支持,这样您就根本不需要 %{...}
。
PROMPT="%F{green} [Donre]%F{...}%c ➤ %f"
(其中 ...
是 $NCOLOR
代表的任何颜色)。
我正在尝试修改 PROMPT 变量以包含一些附加信息。我当前的 PROMPT 还在右侧包含 git 状态。它看起来像这样:
ex2 ➤ git:master*
相同的屏幕截图:
我想在当前文件夹前面添加一些文字 -- 例如 [Drone]。我目前是这样做的,
export PROMPT=%{"$fg[green] [Donre]"$fg[$NCOLOR]%}%c ➤ %{$reset_color%}
但这会产生两个问题。 1. 箭头字符不再被正确解析,我得到一个类似
的错误" not valid in this context: ➤"
2。 git 状态被推到下一行。 新提示显示为,
/home/arul/.zshrc:export:100: not valid in this context: ➤
[Drone]ex2 git:maste
r*
相同的屏幕截图:
有人可以帮我正确修改 PROMPT 吗?
%{...}
不转义其中包含的任何空格;您应该引用 entire 值以确保任何包含的空格都被正确转义以进行赋值。
export PROMPT="%{$fg[green] [Donre]$fg[$NCOLOR]%}%c ➤ %{$reset_color%}"
照原样,箭头字符被视为 export
命令的单独参数(以及无效的参数名称)。 export
,顺便说一句,可能是不必要的。每个需要 PROMPT
值的 shell 都可能执行包含此分配的任何配置文件。
考虑使用 zsh
自己的颜色支持,这样您就根本不需要 %{...}
。
PROMPT="%F{green} [Donre]%F{...}%c ➤ %f"
(其中 ...
是 $NCOLOR
代表的任何颜色)。