如何设置“tab”字符的背景颜色

如何设置“tab”字符的背景颜色

我想为 iTerm 2 中的选项卡应用背景颜色。我尝试使用这个:

echo -e "\033[42mas\tdf"

上面显示“as df”在 Mac 终端中整个文本都带有绿色背景,但在 iTerm 2 中只有“as”和“df”具有背景颜色,而它们之间的制表符空格没有颜色。

有什么办法可以解决这个问题吗?

答案1

我尝试过 Linux 下的几个终端仿真器,即其内置控制台、xterm、urxvt、vte(gnome-terminal 及其同类产品)、konsole、terminology(来自 enlightenment)、kitty、pterm(来自 putty)和 st(来自 suckless)。它们的行为都与 iTerm2 一样,与 Mac 的默认 Terminal.app 不同。

这基本表明 iTerm2 是正确的,而 Terminal.app 是有缺陷的。

如果 TAB 跳过了其他字符,例如这里的“er”:

echo -e "qwer\r\033[42mas\tdf"

您还会看到这些字符保持不变,既没有被空格替换,也没有用新背景重新着色。(我在上面列出的大多数模拟器中都试过了,不是全部。此外,我无法使用 Mac。我很想听听 Terminal.app 在这里做了什么。)

这是因为 TAB 不是可打印字符。它是一个光标移动控制字符,与其他转义序列类似。

相关内容