私のプロンプトは次のように設定されます。
PROMPT=%F{reset}[%F{blue}%2/%F{reset}]
2つの親ディレクトリを次のように表示します。
[foo/bar]
しかし、私が$HOME
深い場所や任意のディレクトリにいるときに、$HOME
プロンプトが次のように表示されます。
[~]
[~/foo]
それぞれ交換する
[/Users/me]
[me/foo]
私はスティーブロッシュのようなものを試しました。collapse_pwd
(そしてより簡単なバージョン:${PWD/#$HOME/~}
記事にも言及されています)と他の同様のバージョンがありますが、最後の2つのディレクトリのみを表示できる柔軟性が失われます。
この問題を処理するには、上記の内容をどのように修正する必要がありますか$HOME
?私のzshバージョンはzsh 5.0.0 (x86_64-apple-darwin12.0.0)
OS X 10.8.2です。
答え1
zsh
これには基本的なサポートがあります。%2~
代わりに使用してください%2/
。%40<...<%~
autonamedirs
オプションも参照してください:
$ l=/usr/local
$ PS1='%~$ '
~$ setopt autonamedirs
~$ cd /usr/local
~l$
(そうでない場合autonamedirs
でもプロンプトを実行してcd ~l
表示できます)。cd
/usr/local
~l