Очистить или отключить псевдонимы в 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 '*'

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


Когда я добавляю эту строку .zshrc, остается еще один псевдоним globurl='noglob urlglobber '. Есть идеи почему?
Сиюань Рен

Может быть, он загружен после unaliasзапуска. , Может быть, вы должны поставить unaliasкоманду в конце вашего.zshrc
cuonglm

Я сделал это в конце. Вот почему это так запутанно.
Сиюань Рен

Что такое выход zstyle?
cuonglm


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) без псевдонимов.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.