![更改提示后 zsh 中出现奇怪的效果](https://linux22.com/image/856728/%E6%9B%B4%E6%94%B9%E6%8F%90%E7%A4%BA%E5%90%8E%20zsh%20%E4%B8%AD%E5%87%BA%E7%8E%B0%E5%A5%87%E6%80%AA%E7%9A%84%E6%95%88%E6%9E%9C.png)
我刚刚安装了 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%}% "