Limpar ou desativar aliases no zsh

12

Eu instalei o oh-my-zsh para facilitar o uso do terminal. Uma coisa que me incomoda são os apelidos prolíficos adicionados por ele, como "ga", "gap", "gcmsg", "_", que são mais difíceis de lembrar do que o comando original e poluem a tabela de hash do comando.

Então, existe uma maneira de desativar completamente os aliases? Ou uma maneira de limpar todos os aliases para que eu possa colocá-lo no meu .zshrc?

Siyuan Ren
fonte

Respostas:

8

Se você não quiser nenhum dos aliases de oh-my-zsh, mas quiser manter outros aliases, poderá salvar os aliases antes de carregar oh-my-zsh

save_aliases=$(alias -L)

e restaurá-los depois.

eval $save_aliases; unset save_aliases

Se você deseja remover todos os aliases em algum momento, pode usar unalias -m '*'(remova todos os aliases correspondentes *, ou seja, todos eles).

Se você detesta aliases e não quero nunca ver um, você pode fazer o aliasbuiltin inoperantes: unalias -m '*'; alias () { : }. Ou você pode simplesmente desativar a expansão de alias com setopt no_aliases.

Gilles 'SO- parar de ser mau'
fonte
7

Você pode usar unaliascom a -mopção:

unalias -m '*'

excluir todos os aliases definidos

cuonglm
fonte
Quando anexo esta linha a .zshrc, ainda há um alias globurl='noglob urlglobber 'restante. Alguma idéia do porquê?
Siyuan Ren
Talvez esteja carregado após a unaliasexecução. Talvez você deva colocar o unaliascomando no final do seu.zshrc
cuonglm 14/10
Eu coloquei no final. É por isso que é tão confuso.
Siyuan Ren
Do que é produzido zstyle?
cuonglm
Vejo gist.github.com/netheril96/70be43f8627eea5603f1 para obter a zstylesaída.
Siyuan Ren
3

Se você deseja remover apenas os aliases do git, recomendo uma das duas opções a seguir:

  1. Altere ~/.oh-my-zsh/plugins/git/git.plugin.zshremovendo todos os aliases na parte inferior

  2. Faça uma cópia desse plug-in (local recomendado:) ~/.oh-my-zsh/custom/plugins/git-noalias/git-noalias.plugin.zsh, edite essa cópia para não ter os aliases e altere seu ~/.zshrcpara fazer em plugins=(git-noalias)vez de plugins=(git).

Isso fornecerá todos os benefícios do plug-in (não tenho certeza do que eles são, mas podem estar relacionados às informações automáticas de status / ramificação do Git exibidas nas pastas do Git) sem os aliases.

A.Wan
fonte