Effacer ou désactiver les alias dans zsh

12

J'ai installé oh-my-zsh pour faciliter l'utilisation du terminal. Une chose qui me dérange cependant est les alias prolifiques ajoutés par elle, comme "ga", "gap", "gcmsg", "_", qui sont plus difficiles à retenir que la commande d'origine, et polluent la table de hachage de commande.

Existe-t-il un moyen de désactiver complètement les alias? Ou un moyen d'effacer tous les alias pour que je puisse les mettre dans mon .zshrc?

Siyuan Ren
la source

Réponses:

8

Si vous ne voulez aucun des alias de oh-my-zsh, mais que vous souhaitez conserver d'autres alias, vous pouvez enregistrer les alias avant de charger oh-my-zsh

save_aliases=$(alias -L)

et les restaurer ensuite.

eval $save_aliases; unset save_aliases

Si vous souhaitez supprimer tous les alias à un moment donné, vous pouvez utiliser unalias -m '*'(supprimer tous les alias correspondants *, c'est-à-dire tous).

Si vous détestez absolument des alias et ne veulent pas voir jamais un, vous pouvez faire la aliasbuiltin inopérante: unalias -m '*'; alias () { : }. Ou vous pouvez simplement désactiver l'extension d'alias avec setopt no_aliases.

Gilles 'SO- arrête d'être méchant'
la source
7

Vous pouvez utiliser unaliasavec -moption:

unalias -m '*'

pour supprimer tous les alias définis

cuonglm
la source
Lorsque j'ajoute cette ligne à .zshrc, il reste un alias globurl='noglob urlglobber '. Une idée pourquoi?
Siyuan Ren
Peut-être qu'il est chargé après l' unaliasexécution. , Vous devriez peut-être mettre la unaliascommande à la fin de votre.zshrc
cuonglm
Je l'ai mis à la fin. C'est pourquoi c'est si déroutant.
Siyuan Ren
Quelle est la sortie de zstyle?
cuonglm
Voir gist.github.com/netheril96/70be43f8627eea5603f1 pour la zstylesortie.
Siyuan Ren
3

Si vous souhaitez uniquement supprimer les alias git, je recommande l'un des deux choix suivants:

  1. Changer ~/.oh-my-zsh/plugins/git/git.plugin.zshen supprimant tous les alias en bas

  2. Faites une copie de ce plugin (emplacement recommandé:) ~/.oh-my-zsh/custom/plugins/git-noalias/git-noalias.plugin.zsh, modifiez cette copie pour ne pas avoir d'alias, puis changez votre ~/.zshrcpour faire à la plugins=(git-noalias)place de plugins=(git).

Cela vous donnera tous les avantages du plugin (je ne suis pas sûr de ce qu'ils sont, mais ils peuvent être liés aux informations d'état / de branche Git affichées dans les dossiers Git) sans les alias.

A.Wan
la source