zsh シェルを呼び出すとalias
、エイリアスのリストが表示されます。必要なものもあれば、そうでないものもあります。最初に.alias
ホーム ディレクトリにファイルを作成し、source $HOME/.alias
それを に追加しました.zshrc
。 によってソースされるファイルの一部ではない既存のエイリアスを除外するにはどうすればよいでしょうか.zshrc
? ( を使ってこれを 1 つずつ実行できると思いますunalias
が、非常に面倒です。)
答え1
unalias
複数のエイリアスを同時に設定解除することがサポートされているため、必ずしも 1 つずつ実行する必要はありません。
すべてのエイリアスを削除して、 から新たにリロードすることをお勧めします~/.alias
。
unalias ${(k)aliases} ${(k)galiases} ${(k)saliases}; source
これにはzsh/parameter
モジュールをロードする必要があります。 でチェックしzmodload | grep parameter
、 でロードしますzmodload zsh/parameter
。
パラメータaliases
、galiases
およびは、saliases
それぞれ通常のエイリアス、グローバル エイリアス、およびサフィックス エイリアスの名前をそれらの展開にマップします。は、${(k)parameter}
のキーに置き換えられますparameter
。
何らかの理由でモジュールをロードできない場合は、次のコマンドの出力を使用して回避できますalias
。
unalias $(alias | cut -d = -f 1) ; source ~/.alias
特定の種類のエイリアスのみを設定解除する場合は、alias -r
通常のエイリアス (コマンドの代わりに使用されるエイリアス) には を、alias -g
グローバル エイリアスには を、alias -s
サフィックス エイリアスには を使用します。
~/.zshrc
これをもっと頻繁に行う必要がある場合は、 (またはそこからソースとなる他のファイル)に関数を定義するだけです。
reload-aliases () {
unalias ${(k)aliases}
source ~/.alias
}