如何使用 ZSH 中的“tuned”提示解决此问题?

如何使用 ZSH 中的“tuned”提示解决此问题?

我的 ZSH 配置中有一个调整后的提示符。主要特点是,此提示符为红色,以便我可以轻松将其与程序的输出区分开来。我的提示符定义如下:

PROMPT=$'\e[0;31m%n@%m:%~> \e[0m'

这种方法通常都很好用,但有时我的光标会在制表符补全时切换到另一个位置,一些字符会留在屏幕上,并破坏命令行。这有点烦人,但如果有人知道解决办法,我将不胜感激。

答案1

您需要将非打印序列包装在%{ ... %}

PROMPT=$'%{\e[0;31m%}%n@%m:%~> %{\e[0m%}'

你应该能够做到:

PROMPT=$'%F{red}%n@%m:%~> %f'

它更简单,更容易阅读,并且可以与使用不同转义序列的终端类型一起使用。

相关内容