我想为 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 不是可打印字符。它是一个光标移动控制字符,与其他转义序列类似。