【发布时间】:2014-10-03 17:28:36
【问题描述】:
我自己写了zsh(其实我是用zsh和oh-my-zsh,如果和主题相关的话)提示,其代码如下:
PROMPT="%{$fg[green]%n%}@%{%m%}:%{$fg[yellow]%~%} %{$fg[red]%#$reset_color%} "
一切都很好,除了唯一的问题:当我使用自动完成(按 Tab)时,提示会折叠到前几个符号。
这是截图,折叠的提示在左侧终端窗口中,正常提示在右侧窗口中。
【问题讨论】:
我自己写了zsh(其实我是用zsh和oh-my-zsh,如果和主题相关的话)提示,其代码如下:
PROMPT="%{$fg[green]%n%}@%{%m%}:%{$fg[yellow]%~%} %{$fg[red]%#$reset_color%} "
一切都很好,除了唯一的问题:当我使用自动完成(按 Tab)时,提示会折叠到前几个符号。
这是截图,折叠的提示在左侧终端窗口中,正常提示在右侧窗口中。
【问题讨论】:
我不确定我是否完全如你所愿,但先试试这个:
local gr=${1:-'green'}
local bl=${2:-'blue'}
local re=${3:-'red'}
local wh=${4:-'white'}
local cy=${5:-'cyan'}
local ye=${6:-'yellow'}
export PROMPT="%F{$gr}%n%f@%m:%F{$ye}%~%f %F{$re}%#%f "
我不确定您到底做错了什么,但似乎那些花括号会干扰您的提示。通过提示自定义的方法使用%F{$ID},其中ID 是我定义的用于开始着色的标识符之一,%f 用于停止着色。您可以使用%B 使文本变为粗体(使用%b 删除粗体)。
【讨论】: