在我的 .bashrc 文件中,当我给提示符上色时,我使用\[ ... \]
来防止新的bash行覆盖以前的bash行(还防止写入缓冲区上溢/下溢或出现文本溢出的情况)在随机位置输入)。这仅在使用颜色时发生。在我的 .bashrc 文件中:
WHITE="\[$(tty -s && tput setaf 254)\]";
PS1+="${WHITE} @ "
但是\[
转义在 .zshrc
请问该如何解决?
答案 0 :(得分:2)
等效的zsh
是%{ ... %}
。但是,并不需要那么频繁,因为zsh
具有一组更丰富的提示转义,从而消除了使用原始转义序列的需要。例如,使用%F
转义符可以通过名称或数字选择前景色。 zsh
已经知道如何在终端上查询要使用的确切字节,zsh
也知道这些字节不应计入提示的宽度。
PS1+="%F{white} @ "
或
PS1+="%F{254} @ "