Очистить или отключить псевдонимы в Zsh

12

Я установил oh-my-zsh, чтобы облегчить использование терминала. Одна вещь, которая меня беспокоит, - это добавочные псевдонимы, такие как «ga», «gap», «gcmsg», «_», которые труднее запомнить, чем исходная команда, и загрязняют хэш-таблицу команд.

Так есть ли способ вообще отключить псевдонимы? Или способ очистить все псевдонимы, чтобы я мог поместить его в свой .zshrc?

Сиюань Рен
источник

Ответы:

8

Если вам не нужны псевдонимы oh-my-zsh, но вы хотите сохранить другие псевдонимы, вы можете сохранить псевдонимы перед загрузкой oh-my-zsh

save_aliases=$(alias -L)

и восстановить их потом.

eval $save_aliases; unset save_aliases

Если вы хотите удалить все псевдонимы в какой-то момент, вы можете использовать unalias -m '*'(удалить все совпадающие псевдонимы *, т.е. все они).

Если вы абсолютно ненавидите псевдонимы и не хотите , чтобы когда - нибудь один, вы можете сделать aliasвстроенный в нерабочем: unalias -m '*'; alias () { : }. Или вы можете просто отключить расширение псевдонимов с помощью setopt no_aliases.

Жиль "ТАК - перестань быть злым"
источник
7

Вы можете использовать unaliasс -mопцией:

unalias -m '*'

удалить все определенные псевдонимы

cuonglm
источник
Когда я добавляю эту строку .zshrc, остается еще один псевдоним globurl='noglob urlglobber '. Есть идеи почему?
Сиюань Рен
Может быть, он загружен после unaliasзапуска. , Может быть, вы должны поставить unaliasкоманду в конце вашего.zshrc
cuonglm
Я сделал это в конце. Вот почему это так запутанно.
Сиюань Рен
Что такое выход zstyle?
cuonglm
См. Gist.github.com/netheril96/70be43f8627eea5603f1 для zstyleвывода.
Сиюань Рен
3

Если вы хотите удалить только псевдонимы git, я рекомендую один из следующих двух вариантов:

  1. Изменить ~/.oh-my-zsh/plugins/git/git.plugin.zsh, удалив все псевдонимы внизу

  2. Сделайте копию этого плагина (рекомендуемое местоположение:) ~/.oh-my-zsh/custom/plugins/git-noalias/git-noalias.plugin.zsh, отредактируйте эту копию, чтобы не иметь псевдонимов, а затем измените свой ~/.zshrcна plugins=(git-noalias)вместо plugins=(git).

Это даст вам все преимущества плагина (я не уверен, что они есть, но они могут быть связаны с автоматической информацией о статусе Git / ветке, отображаемой в папках Git) без псевдонимов.

A.Wan
источник