Wyczyść lub wyłącz aliasy w Zsh

12

Zainstalowałem oh-my-zsh, aby korzystanie z terminala było nieco łatwiejsze. Jedną z rzeczy, która mnie wkurza, są dodawane przez nią płodne aliasy, takie jak „ga”, „gap”, „gcmsg”, „_”, które są trudniejsze do zapamiętania niż oryginalne polecenie i zanieczyszczają tablicę skrótów poleceń.

Czy istnieje sposób na całkowite wyłączenie aliasów? A może sposób na usunięcie wszystkich aliasów, aby móc je umieścić w swoim pliku .zshrc?

Siyuan Ren
źródło

Odpowiedzi:

8

Jeśli nie chcesz żadnego z aliasów oh-my-zsh, ale chcesz zachować inne aliasy, możesz zapisać aliasy przed załadowaniem oh-my-zsh

save_aliases=$(alias -L)

i przywróć je później.

eval $save_aliases; unset save_aliases

Jeśli chcesz usunąć wszystkie aliasy, możesz użyć unalias -m '*'(usuń wszystkie pasujące aliasy *, tj. Wszystkie).

Jeśli absolutnie nienawidzę aliasy i nie chcesz, aby kiedykolwiek zobaczyć jeden, można sprawić, że aliaswbudowane działa: unalias -m '*'; alias () { : }. Możesz też po prostu wyłączyć rozszerzenie aliasu za pomocą setopt no_aliases.

Gilles „SO- przestań być zły”
źródło
7

Możesz użyć unaliasz -mopcją:

unalias -m '*'

aby usunąć wszystkie zdefiniowane aliasy

Cuonglm
źródło
Gdy dołączam ten wiersz do .zshrc, pozostaje jeden alias globurl='noglob urlglobber '. Masz pomysł, dlaczego?
Siyuan Ren
Może jest ładowany po unaliasuruchomieniu. , Może powinieneś umieścić unaliaspolecenie na końcu swojego.zshrc
cuonglm
Położyłem to na końcu. To dlatego jest takie mylące.
Siyuan Ren
Co to jest produkcja zstyle?
cuonglm
Danezstyle wyjściowe można znaleźć na stronie gist.github.com/netheril96/70be43f8627eea5603f1 .
Siyuan Ren
3

Jeśli chcesz tylko usunąć aliasy git, polecam jedną z następujących dwóch opcji:

  1. Zmień ~/.oh-my-zsh/plugins/git/git.plugin.zsh, usuwając wszystkie aliasy u dołu

  2. Zrób kopię tej wtyczki (zalecana lokalizacja ~/.oh-my-zsh/custom/plugins/git-noalias/git-noalias.plugin.zsh:), edytuj tę kopię, aby nie miała aliasów, a następnie zmień swoje ~/.zshrcczynności na plugins=(git-noalias)zamiast plugins=(git).

Daje to wszystkie zalety wtyczki (nie jestem pewien, czym one są, ale mogą być powiązane z automatycznym statusem Git / informacjami o gałęzi wyświetlanymi w folderach Git) bez aliasów.

A.Wan
źródło