Cancella o disabilita gli alias in zsh


12

Ho installato oh-my-zsh per rendere l'uso del terminale un po 'più semplice. Una cosa che mi dà fastidio è il prolifico alias aggiunto da esso, come "ga", "gap", "gcmsg", "_", che sono più difficili da ricordare rispetto al comando originale e inquina la tabella hash dei comandi.

Quindi c'è un modo per disabilitare del tutto gli alias? O un modo per cancellare tutti gli alias in modo da poterlo inserire nel mio .zshrc?

Risposte:


8

Se non vuoi nessuno degli alias di oh-my-zsh, ma vuoi mantenere altri alias, puoi salvare gli alias prima di caricare oh-my-zsh

save_aliases=$(alias -L)

e ripristinarli in seguito.

eval $save_aliases; unset save_aliases

Se vuoi rimuovere tutti gli alias ad un certo punto, puoi usare unalias -m '*'(rimuovi tutti gli alias corrispondenti *, cioè tutti).

Se è assolutamente odio alias e non voglio vedere mai uno, è possibile effettuare la aliasincorporato in funzione: unalias -m '*'; alias () { : }. Oppure puoi semplicemente disattivare l'espansione dell'alias con setopt no_aliases.


7

Puoi usare unaliascon l' -mopzione:

unalias -m '*'

per eliminare tutti gli alias definiti


Quando aggiungo questa riga a .zshrc, c'è ancora un alias globurl='noglob urlglobber 'rimasto. Qualche idea sul perché?
Siyuan Ren,

Forse è caricato dopo l' unaliasesecuzione. , Forse dovresti mettere il unaliascomando alla fine del tuo.zshrc
cuonglm

L'ho messo alla fine. Ecco perché è così confuso.
Siyuan Ren,

Da cosa viene prodotto zstyle?
cuonglm


3

Se vuoi rimuovere solo gli alias git, ti consiglio una delle due seguenti scelte:

  1. Cambia ~/.oh-my-zsh/plugins/git/git.plugin.zshrimuovendo tutti gli alias in basso

  2. Fare una copia di quel plugin (posizione consigliata: ~/.oh-my-zsh/custom/plugins/git-noalias/git-noalias.plugin.zsh), di modifica che copia non avere gli alias, e quindi modificare il vostro ~/.zshrcfare plugins=(git-noalias), invece di plugins=(git).

Questo ti darà tutti i vantaggi del plugin (non sono sicuro di cosa siano, ma potrebbero essere correlati allo stato Git automatico / informazioni sul ramo visualizzate all'interno delle cartelle Git) senza gli alias.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.