2012-10-16 3 views
20

Я пытаюсь получить 256 цветов в фантастической консоли ConEmu-Maximus5.Невозможно включить 256 цветов в ConEmu

Обновление: Теперь оно отображает только 8 цветов. Я знаю, потому что выход '$ tput краски' является '8'

я следовал instructions и активированные:

  • TrueMod (24-битный цвет) поддержка
  • Вводят ConEmuHk
  • ANSI x3. 64/xterm 256 цветов

Я не понимаю, что делать с '. Проверьте, есть ли буфер/слайд. '

  • Я в окнах 7.
  • я начинаю ConEmu с прямой ссылкой на заказ, так что он загружает файл Cygwin Баш.
 
"C:\Program Files\ConEmu\ConEmu64.exe" /cmd ""C:\cygwin\bin\bash.exe" --login -i" 
  • В моем Bashrc профиле у меня есть -> экспорт TERM = Cygwin
  • Это мой обычай командной строки:
 
    function prompt { 

    local RED="\[\033[0;31m\]" 
    local GREEN="\[\033[0;32m\]" 
    local COOLRED="\e[38;5;173m" 
    local COOLGREEN="\e[38;5;113m" 
    PS1="$COOLRED\[email protected]\h $LIGHT_COOLGREEN\$PWD \[\e[0m\] > " 

    } 

    prompt 
  • Значение ConEmuANSI в положение ON , Кстати.

У меня есть некоторые снимки экрана:

enter image description here

Как вы можете видеть, командная строка выглядит очень экстравагантно, потому что не нравится 256 цветовых настроек. Если я заменю переменные COOLRED и COOLGREEN на RED и GREEN, тогда это выглядит нормально, но это не 256 цветов.

Более скриншоты настроек:

enter image description here enter image description here

И последний Sceen застрелил его mintty Cygwin в. Все в порядке. Поддерживается 256 цветов. Это позорный монетный двор не имеет вкладок. В основном это причина, по которой я пытаюсь перейти на ConEmu.

enter image description here

Большое спасибо за помощь !!!

+0

Объясните NuB;) Что файл я должен создать в Баш, чтобы переопределять приглашение? – Maximus

+0

Просто создайте файл с именем .bashrc в своем домашнем каталоге – RafaelGP

+0

Weird. «.bashrc» не работает, но «.profile» делает. – Maximus

ответ

12

Bash не отправляет последовательности ANSI для консоли. Он пытается обработать их сам. И поскольку терминал * nix обычно имеет только 8-цветный (не учитывая режим с 256 цветами), bash использует 8-цветную палитру вместо 16-цветной палитры, которая является общей для терминала Windows.

Я думаю, 256 цветов работает в монетном дворе, потому что _isatty возвращает нуль в этом терминале. Но он возвращает ненулевое значение в ConEmu. Может быть, в будущих сборках я решаю эту загадку (как создать реальный терминал с функциями PTY для некоторых приложений).

Что касается вопроса

У вас нет необходимости в 256-цветов На самом деле. Чтобы переопределить подсказку, вы можете использовать функцию «Расширить цвет переднего плана с фоном». В breaf - настроить цвета 16, 17 и т. Д. В ConEmu, установить подсказку фона в bash до # 5 (настраивается в ConEmu) и voila.

В обработке ConEmu «Extend ...» произошла небольшая ошибка. Используйте сборку 121016 или более поздней.

PS1="\e[30;45m\[email protected]\h \e[34;45m$PWD \[\e[0m\] > " 

ConEmu and real console window

ConEmu settings

следующая информация не соответствует вопрос, но может быть полезным

Текущая версия не поддерживает режим 256-цветный в 'целом' консольного буфера (ограничение, да, удаление его в планах).

Таким образом, вы можете пойти 2 способа

  • полностью отключить скроллинг буфера (много способов, например, "CMD -cur_console: h0")
  • работы в нижней части свитка буфера.
+0

Спасибо за вашу тяжелую работу.Это правда, мне не нужны 256 цветов. Мне просто нужно около 16 хороших, и я могу сделать это в разделе цветов. Ура! – RafaelGP

+0

Некоторые объяснения добавлены. – Maximus

+6

@Maximus Я был бы рад видеть 256 цветов в ConEmu - я хочу видеть полную емкость LS_COLORS, например – antitoxic

-1
local COOLRED="\e[38;5;173m" 

local COOLGREEN="\e[38;5;113m" 

Эти \e s, вероятно, из, например, C printf строка. Вы не хотите, чтобы они были в сценарии оболочки. Stick с оригиналом \033 обозначение. Также вам не хватает закрытия \].Эти строки должны теперь читать

local COOLRED="\[\033[38;5;173m\]" 

local COOLGREEN="\[\033[38;5;113m\]" 
+2

Спасибо за ваш ответ. Я попробовал свои переменные, но все равно не повезло. Я попытался удалить свой пользовательский запрос цвета, на всякий случай, и когда я печатаю AnsiColors256.ans, похоже, он может отображать только 8 цветов. – RafaelGP

+0

'\ e' обычно аналогичен escape-символу и ** действительно необходим. Они не имеют никакого отношения к 'printf'. – Qix

1

Я также не мог получить поддержку 256 цветов для работы (цвета будут отображаться, но они выглядели так же, как 16-цветная палитра). Я переключился на цветовую схему «xterm», и теперь он работает в собственных исполняемых файлах Windows (таких как Python), но не во всем, что использует Cygwin. Кажется, что у Cygwin есть обработка последовательности выходов, которую вы не можете отключить, которая побеждает инъекцию ConEmuHk.

This is documented on the ConEmu wiki, here.

Смежные вопросы