コマンドラインでの出力の開始と終了をよりよく認識するために、プロンプトの色を変更して、プログラムの出力とは明らかに異なるようにしたいと考えています。私はzshを使用しているので、誰かヒントを教えてもらえますか?
12 に答える
これを入れてください~/.zshrc
:
autoload -U colors && colors
PS1="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~ %{$reset_color%}%% "
サポートされている色:
red
, blue
, green
, cyan
, yellow
, magenta
, black
& white
(この回答から) ただし、コンピューターによって有効なオプションが異なる場合があります。
カラー コード (およびその他の印刷できない文字) を で囲みます%{....%}
。これは、テキストの折り返しが正しく機能するためです。
さらに、ここからのディレクトリトリミングでこれを機能させる方法は次のとおりです。
PS1="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%(5~|%-1~/.../%3~|%4~) %{$reset_color%}%% "
Zsh には、色付きのプロンプトが組み込まれています。試す
autoload -U promptinit && promptinit
次にprompt -l
、使用可能なプロンプトを一覧表示-p fire
し、「fire」プロンプトをプレビューして-s fire
設定します。
プロンプトを追加する準備ができたら、上記の autoload 行の下に次のようなものを追加します。
prompt fade red
赤いプロンプトを設定する方法の例を次に示します。
PS1=$'\e[0;31m$ \e[0m'
魔法は\e[0;31m
(赤い前景をオンにする)と\e[0m
(キャラクターの属性をオフにする)です。これらはエスケープシーケンスと呼ばれます。エスケープシーケンスが異なれば、カーソルの絶対位置、色、ウィンドウのタイトルバーの変更など、さまざまな結果が得られます。
エスケープシーケンスの詳細については、ANSIエスケープコードに関するウィキペディアのエントリを参照してください。
はもう必要ないと思いますautoload -U colors && colors
。簡単に行うことができます:
PS1="%{%F{red}%}%n%{%f%}@%{%F{blue}%}%m %{%F{yellow}%}%~ %{$%f%}%% "
FireDude's answerと同じ結果を達成します。詳細については、ZSH のドキュメントを参照してください。