2

VCS 情報のチェックなど、かなり多くのことを行う precmd() があるので、マウントされた低速のネットワーク ドライブをナビゲートしているときに無効にしたいと考えています。

slow低速ドライブに変更する前と元に戻す前に言えることを次のように思いつきましたfast。もっと簡単な方法があるのではないでしょうか?

precmd_slow() {
    not_much
}
precmd_fast() {
    precmd_slow
    somemore1
    somemore2
}

precmd() {
    precmd_fast
}

slow() {
    precmd() {
        precmd_slow
    }
}

fast() {
    precmd() {
        precmd_fast
    }
}
4

1 に答える 1

2

関数に加えて、同時に呼び出す関数のリストを含むprecmdと呼ばれる配列もあります。precmd自分で操作することもできますが、簡単zshcontribにする機能があります。add-zsh-hook

# precmd_slow and precmd_fast defined as before

autoload add-zsh-hook
add-zsh-hook precmd precmd_fast

fast () {
    add-zsh-hook -d precmd precmd_slow
    add-zsh-hook precmd precmd_fast
}

slow () {
    add-zsh-hook -d precmd precmd_fast
    add-zsh-hook precmd precmd_slow
}
于 2013-02-17T17:48:11.250 に答える