我刚刚转换到Zsh,但我遇到了一个奇怪的问题:每次按tab键时,提示符会向上移动一行,因此会吃掉上面的内容。
为了更清楚地演示这个问题,我创建了一个GIF:
我正在使用自定义主题和Oh My Zsh。你可以在这里找到主题:http://pastebin.com/12dZtZf3。
编辑:问题似乎存在于我的主题中,使用其他主题可以解决问题。
编辑:罪魁祸首似乎是打印提示符上方的破折号和日期的函数。
为了更清楚地演示这个问题,我创建了一个GIF:
我正在使用自定义主题和Oh My Zsh。你可以在这里找到主题:http://pastebin.com/12dZtZf3。
编辑:问题似乎存在于我的主题中,使用其他主题可以解决问题。
编辑:罪魁祸首似乎是打印提示符上方的破折号和日期的函数。
_professional_prompt_header() {
echo -n "$bg[grey]"
for i in {0..$(( $(tput cols) / 2 - 6 ))}; do
echo -n "--"
done
# Uncommenting this line fixes the problem.
# Tried echo without -n and print, but no success.
echo -n " %*$reset_color"
}
plugins=(git nvm colorize cp colored-man sublime extract z)
。奇怪的是,更改我的主题可以解决这个问题。 - jviotti%{...%}
括号,可能是在颜色定义中。因此,例如PS1=$'\e[31mBeautiful prompt>\e[0m'
应改为PS1=$'%{\e[31m%}Beautiful prompt>%{\e[0m%}'
。注意保持原意并使语言更加通俗易懂。 - user3620917