Eingabeaufforderung mit 256 Farben in Zsh

14

Wie kann ich festlegen, dass meine Eingabeaufforderung in 256 Farben eingefärbt wird? Ich suche ein Äquivalent zur Bash-Eingabeaufforderung:

  local DEFAULT="\[\033[0;39m\]"
  local ROOK="\[\033[38;5;24m\]"
  PS1="${ROOK}\$${DEFAULT} "
Sardathrion - Setzen Sie Monica wieder ein
quelle
1
Schande über jeden, der starrte, aber nicht empört!
Phunehehe
export PS1='%{[38;5;24m%};%{[0m%} 'ist genau das, was ich wollte.
Sardathrion
1
Siehe auch Ist es möglich, benannte Farben in Zsh jenseits von ANSI-Namen zu verwenden?
Gilles 'SO - hör auf, böse zu sein'

Antworten:

9

Stellen Sie zunächst sicher, dass Ihr Terminal 256 Farben unterstützt, die Sie vermutlich bereits haben. Verwenden Sie PS1zweitens eine Variable mit dem richtigen Code, zum Beispiel:

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

Dies gibt Ihnen eine Eingabeaufforderung mit dem Hostnamen in Fettdruck, einer Vordergrundfarbe von 214 und einer Hintergrundfarbe von 123.

Beachten Sie, dass das ^["eingegeben" wird, indem Sie Ctrl+ vund Ctrl+ eingeben [. Die vollständige Liste der Attribute finden Sie in diesem hervorragenden Artikel " That 256 Color Thing ".

phunehehe
quelle
Ja, ich verwende das urxvt 256 Color Enable Terminal.
Sardathrion - Wiedereinsetzung von Monica
Wie kann ich überprüfen, ob mein Terminal 256 Farben unterstützt? Unterstützt das Gnome-Terminal (Ubuntu) beispielsweise 256 Farben?
Amelio Vazquez-Reina
Verwenden Sie dieses Skript (vollständiger Artikel frexx.de/xterm-256-notes ). gnome-terminalunterstützt 256 Farben.
Phunehehe
1
Der Host der Verbindung ist defekt (502 fehlerhaftes Gateway).
Pikrass
1
@Pikrass habe ich 404 nicht gefunden.
Totor
12
export PS1='%F{214}%K{123}%m%k%f'

Von 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.

Auch zum Ausprobieren könnte es so verwendet werden:

$> print -P '%F{214}%K{123}%m%k%f'
ДМИТРИЙ МАЛИКОВ
quelle