首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cygwin将文本包装回同一行,导致文本被覆盖。

Cygwin将文本包装回同一行,导致文本被覆盖。
EN

Stack Overflow用户
提问于 2013-12-20 05:52:40
回答 2查看 2.8K关注 0票数 5

我在我的Windows 7框上安装了cygwin,我遇到了一个问题,在我输入命令时,偶尔会被打包回同一行,删除bash提示符。就是一个例子:

所讨论的命令是"201“(从底部4行)。我把其他的都包括在上下文里。

我输入的命令的文本是

git commit -m "Forced LF line endings."

(注意:我是用git命令发布的,但是任何命令都会出现问题。我还没有注意到一个模式。)

它跳到行开头的并开始覆盖我的提示符。

当我按向上箭头(查看历史)时,结果就更奇怪了:

(注意,光标在命令结尾处有许多字符。)当我试图将光标从那个位置退到后面时,我只能返回这么远的位置:

当我从背行文中进入历史的时候,我得到了这样的信息:

命令从显示的文本末尾开始。(在整个历史记录中是一致的),但是当我在历史记录中显示错误的git commit ...时,它会像以前那样显示覆盖文本,但是当我经过它时,会删除提示符的一行,并以它在历史记录( la image 2)之前所做的方式显示历史中的前一个条目。

当我创建我的PS1变量时,我有这样奇怪的输出,但是我已经关闭了我的括号和东西,并且认为这不会引起问题。但是,如果您希望看到我的.bash_profile (这设置了PS1),可以在GitHub上看到它。真的很短。

我尝试过搜索这个问题,只能找到一些关于xterm行包装的电子邮件档案,但没有解决方案。

PS:当我按下最新的.bash_profile时,为了链接它,我在输入git add .bash_profile并点击enter时再次遇到问题,它运行命令,但是将光标返回到同一命令的开头,而不是打印新的提示符。然后,当我编写另一个提交行时,它执行的操作与第一个映像相同,但是将行的其余部分屏蔽掉(它封装了行,但覆盖了整行,而不仅仅是头几个字符)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-20 07:07:26

请参阅http://manpages.ubuntu.com/manpages/lucid/man1/bash.1.html#contenttoc26

[ 开始一个非打印字符序列,可用于将终端控制序列嵌入提示符中。 ] 结束一系列非打印字符

如果在提示符中不包含非打印字符(例如颜色序列),则将其长度计算为提示符长度的一部分,最终导致所描述的症状。

票数 9
EN

Stack Overflow用户

发布于 2014-10-29 19:49:32

我不经常发生这种事。当它出现时,我只需在cygwin终端中输入“-WINCH $$”,就可以解决这个问题。链接到源

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20697195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档