私はOh My ZshでZSHを使用しており、次の関数を定義しようとしていますgit
。
function git() { echo "I'm happy because I am executed!" }
に関数定義を配置しました$ZSH/custom/general.zsh
。
この関数を除いて、ファイル内の他のすべての項目は機能します(そこには多くのエイリアスがあります)。
実行which git
出力:
git () {
case $1 in
(commit|blame|add|log|rebase|merge) exec_scmb_expand_args "$_git_cmd" "$@" ;;
(checkout|diff|rm|reset) exec_scmb_expand_args --relative "$_git_cmd" "$@" ;;
(branch) _scmb_git_branch_shortcuts "${@:2}" ;;
(*) "$_git_cmd" "$@" ;;
esac
}
git
それを削除しても役に立ちplugins=( ... )
ません。 Oh My Zshでこの機能を見つけようとしましたが、結果が出ませんでした。
ソースコードを読んでみると、OMZのすべてのファイルがロードされた後にディレクトリがロードされているようで、関数を入れてもoh-my-zsh.sh
全くcustom
理解できません。床に .zshrc
効率的。
custom
フォルダに機能を維持する方法についてのアイデアはありますか?仕事をまとめたいです。
答え1
あなたはおそらくそれをインストールしたでしょうscm_breeze
。私の理論はあなたの.zshrc
購入にscm_breeze.sh
先んじていますoh-my-zsh.sh
。 git関数の定義を最後に置くと過剰になる可能性が.zshrc
あるので、scm_breeze.sh
これがうまくいく理由です。
ソース行をソースコード
oh-my-zsh.sh
の最後.zshrc
または少なくともソースコードの終わりを通過する場所に移動してみてくださいscm_breeze.sh
。 zsh を再起動して動作することを確認します。 (または完全に削除することもできますscm_breeze.sh
)それでもうまくいかない場合は、あなた
.zshrc
とあなたのすべてをバックアップoh-my-zsh
し、空のものを作成し、.zshrc
削除して再インストールしてからoh-my-zsh
、curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh
function git() { echo "I'm happy because I am executed!" }
$ZSH/custom/general.zs
私はこれをテストし、それは私に効果的です。。その後、以前の設定を徐々に再適用して、構成が正確に何であるかを段階的に確認できます。