我刚刚安装了 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%}% "