修复 zsh 提示

修复 zsh 提示

我安装了 Arch Linux 并将 .zshrc 迁移过来,并使用 bart 提示主题。我在第一行看到正常主题(主机名;最后运行的命令;密码;和时间),但下一行是: \[\][ \[\]hostname \[\]\W\[\] \[\]]\[\]# \[\]
其中 $hostname 是我的实际主机名。
我将我的文件重命名/etc/zshbackup.zshrc backup.zprofilebackup.keephack.我的另一台计算机上的提示很整洁,因此我知道这不是~/.zshrc我迁移过来的内容。

答案1

这是一个 bash 提示符,因此 bash 设置以某种方式泄漏到了 zsh。所有常见 shell 都使用PS1变量作为主要提示符,但它们使用不同的格式。由于PS1对不同的程序有不同的含义,因此它永远不应该是环境变量,而只能是使用它的每个程序(bash、zsh 等)中的变量。不幸的是,许多发行版都附带PS1在环境中设置的默认文件,通常为/etc/profile.

Zsh 使用的不仅仅是PS1构建它的提示符。我不知道你的提示主题是如何工作的,但它似乎结合了多个元素,包括PS1.因为PS1设置的方式不应该,所以 zsh 最终选择了一个杂散的 bash 设置。

因此,一个可能的解决方法是unset PS1在您的.zshrc.根据提示主题的工作方式,您可能需要也可能不需要在设置提示主题之前执行此操作。

相关内容