256 цветных подсказок в Zsh


14

Как мне настроить окраску приглашения в 256 цветов? Я ищу эквивалент командной строки bash:

  local DEFAULT="\[\033[0;39m\]"
  local ROOK="\[\033[38;5;24m\]"
  PS1="${ROOK}\$${DEFAULT} "

1
Позор тому, кто смотрел, но не голосовал!
phunehehe

export PS1='%{[38;5;24m%};%{[0m%} 'это именно то, что я хотел.
Сардатрион - против злоупотребления SE

Ответы:


9

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

export PS1='%{^[[01;38;05;214;48;05;123m%}%m%{^[[0m%} '

Это даст вам приглашение с именем хоста, выделенным жирным шрифтом, с цветом переднего плана 214 и цветом фона 123.

Обратите внимание, что ^[«вводится», набирая Ctrl+ vи Ctrl+ [. См. Эту превосходную статью « Та 256 цветов » для полного списка атрибутов.


Да, я использую терминал разрешения цвета urxvt 256.
Сардатрион - против злоупотребления SE

Как я могу проверить, поддерживает ли мой терминал 256 цветов? Например, поддерживает ли GNOME-терминал (Ubuntu) 256 цветов?
Амелио Васкес-Рейна

Используйте этот скрипт (полная статья frexx.de/xterm-256-notes ). gnome-terminalдействительно поддерживает 256 цветов.
phunehehe

1
Хост ссылки не работает (плохой шлюз 502).
Пикрасс

1
@Pikrass у меня 404 не найден.
Тотор

13
export PS1='%F{214}%K{123}%m%k%f'

От man zshmisc:

   %F (%f)
          Start (stop) using a different foreground colour, if supported by the terminal.  The colour may be specified two ways: either as a numeric argument, as normal, or by a sequence in braces following the %F, for example %F{red}.  In the latter case the values allowed are as described for the fg zle_highlight attribute; see  Char
          acter Highlighting in zshzle(1).  This means that numeric colours are allowed in the second format also.

   %K (%k)
          Start (stop) using a different bacKground colour.  The syntax is identical to that for %F and %f.

Также, чтобы попробовать это, это можно использовать так:

$> print -P '%F{214}%K{123}%m%k%f'
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.