Zshの256色プロンプト


14

プロンプトを256色で色付けするように設定するにはどうすればよいですか?私はbashプロンプトに相当するものを探しています:

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

1
見つめたが、賛成しなかった人を恥とする
プネヘヘ

export PS1='%{[38;5;24m%};%{[0m%} 'まさに私が欲しかったものです。
サルダスリオン-モニカを

回答:


9

まず、ご使用の端末が256色をサポートしていることを確認してください。次に、PS1正しいコードで変数を使用します。次に例を示します。

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

これにより、ホスト名が太字で、前景色が214、背景色が123のプロンプトが表示されます。

+ と+を^[入力することでが「入力」されることに注意してください。属性の全リストについては、この優れた記事「その256色のモノ」を参照してください。CtrlvCtrl[


はい、urxvt 256カラーイネーブルターミナルを使用しています。
サルダスリオン-モニカを

端末が256色をサポートしているかどうかを確認するにはどうすればよいですか?たとえば、gnome-terminal(Ubuntu)は256色をサポートしていますか?
アメリオバスケスレイナ

このスクリプトを使用してください(記事全文frexx.de/xterm-256-notes)。gnome-terminal256色をサポートします。
プネヘヘ

1
リンクのホストが壊れています(502不良ゲートウェイ)。
ピクラス

1
@Pikrass 404が見つかりません。
トーター14年

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'
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.