現在、これは私のZSHプロンプトの形式です。全部読んだhttps://zsh.sourceforge.io/Doc/Release/Prompt-Expansion.html#Prompt-Expansionzshプロンプトで切り捨ての詳細をご覧ください。しかし、現在経験しているネストされた切り捨ての問題を解決する方法がわかりません。
export PROMPT="(%10>,,,>[%5>...>william%>>]hello%>>)"
与えられた
([wi...]hello)
最初に内部式を切り捨てるには、切り捨てられた%5>...>william%>>
式を外部式に渡して切り取ります。
つまり、私は出力が欲しい
([wi...,,,
答え1
マニュアルによると
切り捨てる文字列部分を文字列の終わりまで実行するか、設定した次の包含グループの終わりまで実行するようにプロンプトします
%(
。または、同じグループ化レベルで発生してから切り捨てまで(つまり、a内の切り捨ては%(
別々です。)そのうちの最初のものです。特に、引数がゼロの切り捨て(例%<<
:)は、切り捨てられる文字列範囲の終わりを表示し、同時にそこから切り捨てを解除します。
つまり、同じレベルにネストされません。 1 番目は%>>
切り捨てを停止し、2 番目は切り捨てが有効になっていないため、何もしません。
しかし、入れ子にすることはできます%(...)
。
PROMPT='%12>#>12[%(0l,%5>#>abcefghijk,)]345678%>> end$ '
与えられた
12[abce#]34# end$
内側の部分はであり、abcefghijk
5文字に切り捨てられ、で囲まれてから[]
1212[abce#]345678
文字に切り捨てられます。