Я хочу применить цвет фона к вкладкам в iTerm 2. Я пытался использовать это:

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

Выше показано "as df" в Mac Terminal, где весь текст окрашен зеленым фоном, но в iTerm 2 только "as" и "df" имеют цвет фона, а пробел между ними не окрашен.

Любой способ решить это?

1 ответ1

0

Я попробовал несколько эмуляторов терминала под Linux, а именно встроенную консоль, xterm, urxvt, vte (gnome-терминал и друзья), konsole, терминологию (из просветления), 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 не печатный символ. Это управляющий символ перемещения курсора, аналогично другим escape-последовательностям.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .