You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gnome Terminal调整窗口大小时持续追加提示符问题

问题原因

这是Bash提示符宽度计算错误导致的异常。Bash将\[和\]包裹的内容识别为非打印控制字符(比如颜色转义序列),不计入提示符的显示宽度,如果你配置的提示符中存在未被\[/\]包裹的非打印控制字符,Bash计算出的提示符宽度就会和实际显示宽度不符,窗口缩小时的重绘、换行逻辑就会紊乱,出现多个提示符叠加的问题。

你的配置问题出在$(__git_ps1)调用部分:默认配置下__git_ps1返回的分支信息如果携带颜色转义序列,这些序列没有被\[/\]包裹,导致宽度计算错误。

解决方案

你可以直接合并两行PS1配置,统一管理控制字符包裹规则,修改.bashrc中的对应配置为以下内容即可:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;33m\]$(__git_ps1)\[\033[00m\]\$ '

如果不需要git分支信息显示颜色,也可以关闭__git_ps1的颜色输出,在调用前添加GIT_PS1_SHOWCOLORHINTS=""配置即可。

修改完成后执行source ~/.bashrc让配置生效,再调整窗口大小就不会出现提示符叠加的问题。

内容的提问来源于stack exchange,提问作者Zane Phillips

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 10:57:04