【发布时间】:2022-12-11 10:45:28
【问题描述】:
我正在使用 macOS Big Sur 版本 11.4,并且刚刚更新了我的 .zshrc 文件以在我的终端命令行上显示 git 分支位置。
.zshrc 文件包含以下内容。我不确定之前有什么。我不小心使用 touch ~/.zshrc 创建了 .zshrc 文件,而没有检查该文件是否已经存在。也许这就是事情搞砸的地方。
function parse_git_branch() {
git branch 2> /dev/null | sed -n -e 's/^\* \(.*\)/[\1]/p'
}
COLOR_DEF=$'\e[0m'
COLOR_USR=$'\e[38;5;243m'
COLOR_DIR=$'\e[38;5;197m'
COLOR_GIT=$'\e[38;5;39m'
setopt PROMPT_SUBST
export PROMPT='${COLOR_USR}%n ${COLOR_DIR}%~ ${COLOR_GIT}$(parse_git_branch)${COLOR_DEF} $ '
git 分支显示了,但我注意到当我在命令行上输入超过 28 个字符时,它会消失,如下所示:
我怎样才能解决这个问题?
【问题讨论】:
-
不移动光标的提示字符串部分应该包含在
%{ %}中——参见the manual -
顺便说一句,
touch ~.zshrc并没有真正影响任何东西。如果文件已经存在,touch只会设置该文件的修改时间戳;它不会改变内容。如果该文件不存在,则 touch 将创建一个新的空文件。