在终端中设置颜色会导致奇怪的字符行限制

发布于 2024-12-06 11:53:42 字数 395 浏览 1 评论 0原文

我在为终端提示着色时发现了一个恼人的错误。如果我将提示设置为彩色提示,那么

export PS1='\e[1;34m[\e[0;31m\D{%Hh%M} \e[0;32m\u\e[0m@\e[0;35m\h\e[0m:\e[0;36m\w\e[1;34m]\e[0m $ '

当我在输入行中获得一定大小时,它就会开始中断:

enter image description here

换句话说,当我的线路达到某个限制时,它会重新开始!一旦我再次填充同一行,那么它就可以正常工作,进入下一行。

有人也见过这个问题吗?你有解决办法吗? iTerm 中也出现此问题。

I found an annoying bug while coloring the prompt of my Terminal. If I set my prompt to a colored one, such as

export PS1='\e[1;34m[\e[0;31m\D{%Hh%M} \e[0;32m\u\e[0m@\e[0;35m\h\e[0m:\e[0;36m\w\e[1;34m]\e[0m $ '

then it starts to break when I get some size in the input line:

enter image description here

In other words, when my line reaches some limit, it starts over itself! Once I fill the same line again, then it works well, going to the next line.

Have anyone seen this problem, too? Do you have a solution? The problem also happens in iTerm.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蹲在坟头点根烟 2024-12-13 11:53:42

这是 StackOverflow 中的 Mac Terminal.app 烦人的错误 - 如何修复它? 的重复项。问题是您必须将终端控制字符括在方括号 \[ … \] 中,以便 bash shell 在计算命令提示符的长度时不会计算它们。

由于这是一个通用的 shell/终端问题,而不是特定于 Mac OS X 或终端,因此可能应该将其迁移到 StackOverflow 并复制其他问题。 (但是,我没有特权这样做。)

This is a duplicate of Mac Terminal.app annoying bug - How to fix it? from StackOverflow. The problem is that you must surround terminal control characters in square brackets \[ … \] so that the bash shell doesn't count them when calculating the length of the command prompt.

Since this is a generic shell/terminal question and not specific to Mac OS X or Terminal, this should probably be migrated to StackOverflow and made a duplicate of the other question. (However, I don't have privilege to do either.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文