解决修改 Bash Prompt 后翻阅历史命令时显示错位

💡 原文中文,约600字,阅读约需2分钟。
📝

内容提要

修改 Bash 提示符后,使用上下方向键翻阅历史命令时可能出现错位。解决方法是将不可见字符用 \[\] 包裹,以避免 Bash 计算这些字符的长度,从而确保提示符正常显示。

🎯

关键要点

  • 修改 Bash 提示符后,使用上下方向键翻阅历史命令时可能出现命令覆盖提示符的情况。

  • 解决方法是将不可见字符(如 ASCII 颜色字符)用 \[\] 包裹。

  • 例如,将 PS1=$\u001b[0m 修改为 PS1=\[\u001b[32m\]$\[\u001b[0m\]。

  • Bash 在覆盖当前行时会计算提示符的长度,包括不可见字符。

  • \[\] 的作用是让 Bash 不计算这部分字符的长度。

🏷️

标签

➡️

继续阅读