Oh-My-Zshは私の機能を無視しますか?

Oh-My-Zshは私の機能を無視しますか?

私は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これがうまくいく理由です。

  1. ソース行をソースコードoh-my-zsh.shの最後.zshrcまたは少なくともソースコードの終わりを通過する場所に移動してみてくださいscm_breeze.sh。 zsh を再起動して動作することを確認します。 (または完全に削除することもできますscm_breeze.sh

  2. それでもうまくいかない場合は、あなた.zshrcとあなたのすべてをバックアップoh-my-zshし、空のものを作成し、.zshrc削除して再インストールしてからoh-my-zshcurl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | shfunction git() { echo "I'm happy because I am executed!" }$ZSH/custom/general.zs私はこれをテストし、それは私に効果的です。。その後、以前の設定を徐々に再適用して、構成が正確に何であるかを段階的に確認できます。

おすすめ記事