解决修改 Bash Prompt 后翻阅历史命令时显示错位
原文中文,约600字,阅读约需2分钟。
📝
内容提要
修改 Bash 提示符后,使用上下方向键翻阅历史命令时可能出现错位。解决方法是将不可见字符用 \[\] 包裹,以避免 Bash 计算这些字符的长度,从而确保提示符正常显示。
🎯
关键要点
-
修改 Bash 提示符后,使用上下方向键翻阅历史命令时可能出现命令覆盖提示符的情况。
-
解决方法是将不可见字符(如 ASCII 颜色字符)用 \[\] 包裹。
-
例如,将 PS1=[32m$\u001b[0m 修改为 PS1=\[\u001b[32m\]$\[\u001b[0m\]。
-
Bash 在覆盖当前行时会计算提示符的长度,包括不可见字符。
-
\[\] 的作用是让 Bash 不计算这部分字符的长度。
🏷️