そこに機能がありましたが.zshrc
削除しました。
.zshrc
今すぐインポートしようとすると、インポートされたが以前に存在していた機能はメモリから削除されません。
私のコンピュータを再起動せずにこの機能を削除する方法はありますか(今はメモリ、zsh名前空間などを信じます)?
答え1
unhash -f functionname
zshでは機能を有効または削除できますunfunction functionname
。
しかし、これは与えられた起動ファイルから削除された機能を自動的にクリーンアップしません。なぜなら、シェルは関数が元々どこで得られたのか覚えておらず、同じファイルを再取得するのに特別な意味を与えないからです。したがって、何を忘れたいのかを知る必要があります。
.bashrc
トピックで述べたように、bashに対応するものは次のとおりです。unset -f functioname
答え2
unhash -mf "*"
すべての機能を削除するために使用できます。
標準zshの利点を排除するので/etc/zsh/zshrc
。
私の.zshrcの先頭には次のものがあります。
# Clear all functions and aliases
unhash -mf "*"
unhash -ma "*"
. /etc/zsh/zshrc # reload standard functions and aliases