我注意到konsole
在下一页滚动时重置颜色有问题,如下图所示,使用命令运行for i in {1..100}; do echo "$i"; echo -en '\033[1;42m AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA \033[0m'; echo -e 'next text'; done;
:
如您所见,\033[0m
get ignore 从第 11 行开始,即当前窗口视图的下一页。
gnome-terminal
没有这样的问题。但我是konsole
用户,正在寻找解决方案。
[更新]
如果你改变
至
那会做你想要的。不同的是,当终端向上滚动时,它将用当前背景颜色填充新行:
\E[K
清除从当前位置到行尾的当前行(撤消通过滚动完成的颜色填充)。也可以看看:
我在使用 bash 循环构造时看到了类似的问题
for $file in \'ls\'
。我ls
别名为ls -h --color=auto
. Unaliasingls
解决了这个问题,所以显然一些颜色代码被存储在$file
.