如何修复 konsole `\033[0m` 无法从滚动第二页开始工作?

如何修复 konsole `\033[0m` 无法从滚动第二页开始工作?

我注意到konsole在滚动的下一页上重置颜色时出现问题,如下面的屏幕截图所示,使用命令运行for i in {1..100}; do echo "$i"; echo -en '\033[1;42m AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA \033[0m'; echo -e 'next text'; done;

在此输入图像描述

在此输入图像描述

如您所见,忽略\033[0m 从第 11 行开始,即当前窗口视图的下一页。

gnome-terminal没有这样的问题,但我是konsole用户并正在寻找解决方案。

[更新]

我报告了错误https://bugs.kde.org/show_bug.cgi?id=409016

答案1

如果你改变

\033[0m

\033[0m\033[K

这将达到你的目的。不同之处在于,当终端向上滚动时,它将用当前背景颜色填充新行:

  • \E[K清除从当前位置到行尾的当前行(撤消通过滚动完成的颜色填充)。
  • 颜色行为是一个特征Linux控制台,在其他终端(rxvt、xterm、konsole)中实现。

也可以看看:

答案2

我使用 bash 循环结构看到了类似的问题for $file in \'ls\'。我的ls别名是ls -h --color=auto.消除锯齿ls解决了这个问题,所以显然一些颜色代码被存储在$file.

相关内容