LoginSignup
sprout2000
@sprout2000

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

zsh プロンプト中に改行を入れるには?

解決したいこと

zshのプロンプト中に改行を入れるスマートな方法を探しています。

.zshrc の中の PS1 変数の中で改行を挟めば、プロンプトの途中に改行を入れて表示されますが、

.zshrc
setopt PROMPT_SUBST ; PS1="%F{034}%n%f %F{036}($(arch))%f:%F{020}%~%f
%# "

スクリーンショット 2021-09-05 16.03.24.png

これを \n に置き換えるとプロンプトへ反映されることなく、そのまま \n が表示されてしまいます。

.zshrc
setopt PROMPT_SUBST ; PS1="%F{034}%n%f %F{036}($(arch))%f:%F{020}%~%f\n%# "

スクリーンショット 2021-09-05 16.07.02.png

これを解消する方法をご教示いただけませんでしょうか?

1

1Answer

$'' リテラルを使うとエスケープが有効になります。改行を表すには $'\n' と書いてください。

PS1="%F{034}%n%f %F{036}($(arch))%f:%F{020}%~%f"$'\n'"%# "
6

Comments

  1. @sprout2000

    Questioner
    @uasi さん
    前回に引き続きありがとうございました。
    出来ました。

Your answer might help someone💌