Colors

如何修復 konsole 033[0m 從滾動的第二頁開始不起作用?

  • May 9, 2021

我注意到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使用者,正在尋找解決方案。

$$ UPDATE $$

我在https://bugs.kde.org/show_bug.cgi?id=409016報告了錯誤

如果你改變

\033[0m

\033[0m\033[K

那會做你想要的。不同的是,當終端向上滾動時,它將用目前背景顏色填充新行:

  • 清除目前**\E[K**行從目前位置到行尾(撤消通過滾動完成的顏色填充)。
  • 顏色行為是Linux 控制台的一個特性,在其他終端(rxvt、xterm、konsole)中實現。

也可以看看:

我在使用 bash 循環構造時看到了類似的問題for $file in \'ls\'。我ls別名為ls -h --color=auto. Unaliasingls解決了這個問題,所以顯然一些顏色程式碼被儲存在$file.

引用自:https://unix.stackexchange.com/questions/526309