更改提示后 zsh 中出现奇怪的效果

更改提示后 zsh 中出现奇怪的效果

我刚刚安装了 Zsh 并编写了自己的自定义提示符。我还使用了 emacs 格式,其中~/.zshrc显示bindkey -e。现在,当我打开 shell 时,由于某种原因,它的行为非常奇怪。

例如如果我只输入cd Do+Tab我会得到这个:

在此处输入图片描述

另一个例子,我在 ~/Downloads/Guns N' Roses - 1988 - G N' R Lies 目录中输入pwd。输入字母后,w所有内容都消失了,光标移到下一行的开头。最终结果是我得到了工作目录,但它看起来像这样(请记住我输入了pwd):

在此处输入图片描述

当我在较短的目录中时,不会发生这种情况home

这是怎么回事?是因为我的 PROMPT 吗,还是 emacs 打字就是这样的?

这是我的提示代码~/zshrc

PROMPT="%{$fg[red]%}%n%{$reset_color%}@%
{$fg[blue]%}%m$fg[black]|$fg[green]%* %{$fg[yellow]%}%1~ %{$reset_color%}% "

答案1

问题是里面没有颜色标签%{...%}。现在正确的顺序是:

PROMPT="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m%{$fg[black]%}|%{$fg[green]%}%* %{$fg[yellow]%}%1~ %{$reset_color%}% "

相关内容