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} "

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.

  • Yes, I am using urxvt 256 colour enable terminal. – Sardathrion Nov 25 '11 at 12:31
  • How can I verify if my terminal supports 256 colors? For example, does gnome-terminal (Ubuntu) support 256 colors? – Amelio Vazquez-Reina Mar 31 '13 at 17:39
  • Use this script (full article frexx.de/xterm-256-notes). gnome-terminal does support 256 colors. – phunehehe Apr 1 '13 at 4:11
  • 1
    The host of the link is broken (502 bad gateway). – Pikrass Jun 7 '13 at 13:56
  • 1
    @Pikrass I have 404 not found. – Totor Jan 2 '14 at 1:03
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'

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.