set_colorを追加すると、魚の先端がめちゃくちゃになります。

set_colorを追加すると、魚の先端がめちゃくちゃになります。

カスタムフィッシュチップを作成しようとしましたが、どのように解決するのかわからない問題があるようです。

ash@cat-boxうまくいきましたが、緑が欲しかったので、正確に私が望んでいたわけではありません。働く魚のヒント

これは私が望む形に正確にすることを試みていますが、多くのものが混乱しているのか、なぜそれを修正するのか理解できません。 魚の先端が機能しない

これを行うのに役立つヒントと、これがどのように行われるのかを説明していただきありがとうございます。

ベストアンサー1

問題%sはフォーマット指定子がないことですprintf%s引数を文字列に置き換えるようにprintfに指示します。より多くの文字列を追加すると(この場合の新しい呼び出しset_color)、どこに入れるべきかわからないため、文字列は最後に追加されます。

即時の修正は、より多くの%s指定子を追加することです。

printf '%s%s@%s%s:%s%s%s$' (set_color green) $USER $hostname (set_color normal) \
                           (set_color blue) (prompt_pwd) (set_color normal)

しかし、これは少し扱いに​​くいですが、別々の命令に分割するとより明確になります。

function fish_prompt
    set_color green
    printf '%s@%s' $USER $hostname
    set_color normal
    printf ':'
    set_color blue
    printf '%s' (prompt_pwd)
    set_color normal
    printf '$ '
end

おすすめ記事