答え1
確実にするprompt_subst
オプションオープンしました。必要に応じて、次の行を次の行に追加してください~/.zshrc
。
setopt prompt_subst
これは、プロンプトが表示されるたびにzshにプロンプト文字列を再評価するように指示します。次に、必要に応じて割り当てますPS1
(またはテーマで使用される他の変数をプロンプトします)。
PS1='${PWD/#$HOME/~}'
一重引用符は、たとえば$
変数を設定するときに特殊文字が評価されないように保護します。
答え2
zshでは、precmd
各プロンプトの前に何かを行うことができます(たとえば、変数の設定)。
function precmd() {
current_git_branch=`git rev-parse --abbrev-ref HEAD`
}
http://zsh.sourceforge.net/Doc/Release/Functions.html
これは元の質問ほど現在のディレクトリには必要ありませんが、他の状況でこの問題を探している人には役立ちます。
(precmdはzshに固有です。bashには$PROMPT_COMMAND
。)
答え3
いいね、
私はちょうど私の$
標識を脱出する必要があります。たとえば、
${PWD/#$HOME/~}
\${PWD/#\$HOME/~}
答え4
%
zshではこれにエスケープ文字を使用する必要があります。たとえば${PWD/#$HOME/~}
(あなたの例のように)代わりに%~
。
読んでzshall(1)
検索迅速かつ簡単な脱出(ここでは引用が長すぎます)。