2014-12-23 6 views
2

Я использую prezto с Zsh, и моя трудность заключается с подсветкой синтаксиса, из которых образец линияПодсветка синтаксиса в zsh с использованием 256 цветов?

'function' 'bg=green' 

Я мог бы также иметь здесь, например

'function' 'bg=blue,fg=yellow' 

Однако я хотят воспользоваться моим 256 цветной терминал (Konsole в моем случае), в этом случае я бы подумал, что что-то вроде

'function' 'bg=$FG[021],fg=$FG[196]' 

, например, Wou ld, учитывая, что я ранее загружал модуль спектра.

Но я не могу заставить это работать. Я проверил, что tput colors возвращает 256, и что команда

echo "$FG[214]Hello, World" 

дает мне оранжевый выход.

В любом случае, пользуюсь ли я спектром или нет, я бы хотел больше контролировать выделение синтаксиса и использовать 256 цветов. Любые советы были бы очень желанными!

ответ

1

Вы можете указать индекс цвета здесь, как показано ниже:

'function' 'bg=21,fg=196' 

zsh-syntax-highlighting получает возможность задавать цвета из ЗШ-х Character Highlighting, а не ANSI управляющие последовательности непосредственно. Это ЗШ руководство описывает «Fg = цвета», как показано ниже:

фг = цвета
Цвет переднего плана должен быть установлен на цвет, десятичное число или имя одного из восьми наиболее широко -поддержанные цвета.

Мы можем использовать индекс цвета, а не последовательности ANSI escpape, которые спектральный модуль хранится на $FG[...].

+0

Спасибо - я не знал, что могу указать цвет по номеру индекса. Все хорошо сейчас! – Alasdair

1

Вы можете попробовать:

export TERM='xterm-256color'