Oh-My-Zsh substituindo minha função?

4

Eu uso o ZSH com o Oh My Zsh e estou tentando definir uma função chamada git , como tal:

function git() { echo "I'm happy because I am executed!" }

Eu coloquei a definição da função em $ZSH/custom/general.zsh .

Tudo o resto neste ficheiro funciona (tenho vários aliases), exceto esta função.

Executando which git de saídas:

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
}

A remoção de git de plugins=( ... ) não funcionou. Tentando encontrar essa função em Oh My Zsh não produziu nenhum resultado.

Eu li o código fonte de oh-my-zsh.sh , e parece que o diretório custom está carregado depois de todos os arquivos da OMZ, então não fazia nenhum sentido para mim, que quando coloquei minha função em a parte inferior de .zshrc funcionou.

Alguma idéia de como manter a função na pasta custom ? Eu gostaria de manter as coisas organizadas.

    
por Cat Boss 28.10.2013 / 17:16

1 resposta

1

Você provavelmente instalou scm_breeze , e minha teoria é que no seu .zshrc o fornecimento de scm_breeze.sh é precedido por oh-my-zsh.sh . E se você colocar sua definição de função git no final de .zshrc , provavelmente excederá o scm_breeze.sh , então é por isso que funciona.

  1. Tente mover a linha que origina oh-my-zsh.sh até o final de seu .zshrc ou, pelo menos, em uma posição em que exceda a origem de scm_breeze.sh . Reinicie o zsh e veja se funciona. (alternativamente você pode remover scm_breeze.sh completamente)

  2. Se ainda assim não funcionar, faça o backup de .zshrc e todos os oh-my-zsh materiais, crie um .zshrc vazio, exclua e reinstale oh-my-zsh com curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh e, em seguida, coloque function git() { echo "I'm happy because I am executed!" } in $ZSH/custom/general.zs , Eu testei isso, funcionou para mim . Depois disso, você pode reaplicar gradualmente suas configurações antigas, verificando passo a passo o que exatamente quebra sua configuração.

por 21.11.2013 / 01:18

Tags