0

我正在使用 Zsh。我想在 Python 交互模式下有一个自定义提示。具体来说,我想添加颜色。

如果我在 Python 中做类似的事情

sys.ps1 = "\033[38;5;76m>>>\033[0m " 

然后提示正确显示,但终端似乎对提示的长度感到困惑,所以有时事情会变得一团糟。这可能是由于终端计算非打印字符的事实。我需要以某种方式告诉它不要计算那些字符。但我不知道该怎么做。

如果我使用 Zsh 提示符转义符,例如 %F{...} 或 %{ %},那么这些转义符不会像此处描述的那样进行扩展,而是按字面意思显示。我猜它们不会进行扩展,因为提示是从 Python 而不是在 shell 本身中设置的。

Zsh 默认计算非打印字符,它似乎不像 Bash 那样尊重 [ ] ,并且当从 Python 设置 PS1 时 %{ %} 不会进行扩展。我被困住了。

有没有办法做我想做的事?

4

0 回答 0