16

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

2 Answers 2

17
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'
11

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.

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .