Могу ли я настроить цвета ANSI в терминале без дополнительных инструментов, таких как SIMBL?

12

Я заметил, что цвета в Snow Leopard Terminal.app не так хороши (используется тема Pro, но другие темы хуже).

Кажется, что нет простого способа настроить цвета, и поиск в Google показал странные обходные пути с использованием SIMBL и принудительным переводом терминала на 32-разрядный режим.

Это все еще так, или есть способ изменить цвета в Terminal.app Snow Leopard? Моя оболочка zsh, а не bash, если это имеет значение.

Пояснение: я имею в виду цвета ANSI, такие как зеленый, красный, синий и т. Д. По умолчанию терминал выглядит следующим образом:

По умолчанию

Эти цвета не так хороши, я хочу, чтобы они выглядели так:

Я хочу эти цвета

Я нашел 64-битный совместимый плагин SIMBL / TerminalColours , но если я смогу избежать использования SIMBL, это будет моей целью. Я знаю, что есть альтернативные терминалы, такие как iTerm, но я хочу Terminal.app.

Майкл Стум
источник
есть ли какая-то причина, по которой настройка цвета в настройках не работает для вас?
Роберт С. Чаччо
@calavera у них просто нет нужной опции. У них есть текст, жирный текст и выделение, но я хочу цвета ANSI, такие как зеленый, синий, красный и т. Д.
Майкл Стум
3
Для справки: Lion исправил это, теперь можно определить цвета ANSI в Terminal.app.
Майкл Стум
1
офигенно, спасибо за обновление. вероятно, все еще будет использовать iterm2, хотя: P
Роберт S Ciaccio

Ответы:

4

В Terminal.app эти цвета жестко запрограммированы. Внутренние методы, например, +[NSColor(Terminal) vtRedColor]используют жестко запрограммированные константы с плавающей точкой для установки цветов.

Как вы заметили, существуют SIMBL- плагины, которые могут это исправить, но вы уже отметили их текущие ограничения. SIMBL был обновлен для поддержки 64-битных приложений, поэтому вы должны связаться с авторами плагинов и попросить их перестроить их для поддержки 64-битных. Есть также еще один плагин SIMBL для рассмотрения .

Единственный другой вариант для Terminal.app - это написать запрос функции на http://bugreport.apple.com и надеяться, что кто-то в Apple соблазнится добавить настройку цвета в Terminal.app для Lion.

ohmantics
источник
«Единственный другой вариант для Terminal.app - это написать запрос на bugreport.apple.com и надеяться, что кто-то в Apple соблазнится добавить настройку цвета в Terminal.app для Lion». Продолжайте: И вот что случилось.
Крис Пейдж
Отличная работа, Крис. :-)
ohmantics
3

Начиная с Mac OS X Lion 10.7, шестнадцать цветов ANSI настраиваются в настройках терминала.

Терминал> Настройки> Настройки> [профиль]> Текст> Цвета ANSI

Терминал ANSI Color Preferences

Когда вы указываете на один из элементов управления цветом, он отображает название и номер цвета ANSI для справки.

Когда вы редактируете цвет ANSI, на цветовой панели есть кнопка для сброса отдельного цвета ANSI к его стандартному значению:

Терминал ANSI Color Panel

Несколько советов о панели настроек:

  • Как и в большинстве настроек, вы можете выбрать более одного профиля за раз (например, Shift- или Command-Click или выбрать Edit> Select All ) и изменить цвета для всех них одновременно.

  • Панель настроек «Настройки» поддерживает «Отмена» (и «Повторить»), поэтому вы можете попробовать внести изменения (или несколько изменений) и отменить изменения, которые вам не нравятся.

Крис Пейдж
источник
1

Экранирующие коды ANSI могут делать то, что вы хотите. Сейчас они не так популярны, как когда-то, когда все работали в терминале через модем, но они все еще работают в терминале и iTerm и тому подобное. Я не удивлюсь, обнаружив, что Терминал использует их за кулисами для управления своими цветами.

Возможно, вы захотите взглянуть на волшебную страницу IBM Prompt . Коды ANSI должны позволять вам настраивать цвета, если вы начинаете с базового профиля терминала.

В Википедии есть дополнительная информация о коде выхода ANSI .

Greg
источник
1
Проблема заключалась не в самом коде перехода, а в том, как Terminal.app их интерпретировал. До Льва вы не могли изменить то, как выглядели цвета.
Майкл Стум