読者です 読者をやめる 読者になる 読者になる

zsh の rehash が面倒だという話

なんか shell function だの alias だのはこう、ああこれいらないなーと思った時に既に適用してしまった shell に対して unfunction だの unalias だのをするか、それとも zsh を再起動しなければならない、といったような理由であまり好きではないです。で、基本的に ~/bin の下にどんどこつっこみます。

そのスタイルでやってて問題になるのは新しい実行ファイルを突っ込んだ時に必要になる rehash とかいうコマンドです。 bash とかは勝手に調べてくれるのに…! とか思いますが、 NFS とかそういう環境では前もって調べておいてくれているのは悪いことではないので怒らないことにします。

でもまぁ rehash とかタイプするのは面倒だなぁと考えていて、 ^L で画面を消去した時に同時に rehash してくれるくらいが丁度いい粒度じゃないかなぁと思いました。

でなんかこんな感じになりました。 zle をつければこういう(なんていうかわからんのですがキーバインド用の組み込み関数みたいなそんな物体)関数を呼べるみたいです。

clear-screen-rehash() {
        zle clear-screen
        rehash
        zle reset-prompt
}
zle -N clear-screen-rehash
bindkey '^L' clear-screen-rehash
なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h