How can I set my prompt to be colourized in 256 colours? I am looking for an equivalent to the bash prompt:
local DEFAULT="\[\033[0;39m\]" local ROOK="\[\033[38;5;24m\]" PS1="${ROOK}\$${DEFAULT} " export PS1='%F{214}%K{123}%m%k%f' From 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. Also to try it out it could be used like that:
$> print -P '%F{214}%K{123}%m%k%f' First, ensure that your terminal supports 256 colors, which I suppose you already have. Second, use a PS1 variable with the correct code, for example:
export PS1='%{^[[01;38;05;214;48;05;123m%}%m%{^[[0m%} ' This will give you a prompt with the host name in bold, with a foreground color of 214 and a background color of 123.
Note that the ^[ is "entered" by typing Ctrl+v and Ctrl+[. See this excellent article "That 256 Color Thing" for the whole list of attributes.
gnome-terminal does support 256 colors.
export PS1='%{[38;5;24m%};%{[0m%} 'is exactly what I wanted.