Yash 2 その 105
Zsh って無駄にオプション多くね?
Yash に zsh の auto_pushd とか pushd_ignore_dups とか pushd_to_home とかのオプションに相当する機能を付けられないか、と検討。
Pushd_ignore_dups と pushd_to_home に相当する機能は、pushd コマンドにオプションを追加すればいいので、zsh のようにシェルオプションにする必要は実はない。setopt pushd_ignore_dups pushd_to_home
の代わりに alias pushd='pushd --ignore-dups --default-home'
で十分。Auto_pushd も alias cd=pushd
で実現可能。
といいたいところなのだが、これだと問題があって、autocd オプションが有効な時に直接コマンド名としてディレクトリを指定した場合にはエイリアス置換が働かないので、うまくゆかない。
現在の autocd オプションを廃止して、ディレクトリをコマンドとして実行した場合に起動するコマンドを指定する汎用的な仕組みを代わりに用意するのがよかろうか。ディレクトリを実行すると DIRCOMMAND 変数で指定したコマンドを実行する、とか。DIRCOMMAND='pushd --ignore-dups --default-home'
。
| 固定リンク
コメント