Я установил oh-my-zsh, чтобы немного облегчить использование терминала. Единственное, что меня беспокоит, это многочисленные псевдонимы, которые он добавляет, типа "ga", "gap", "gcmsg", "_", которые сложнее запомнить, чем исходную команду, и они загрязняют хэш-таблицу команд.
Так есть ли способ отключить псевдонимы вообще? Или способ очистить все псевдонимы, чтобы я мог поместить их в свой .zshrc
?
решение1
Если вам не нужны никакие псевдонимы 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
.
решение2
Вы можете использовать unalias
с -m
опцией:
unalias -m '*'
удалить все определенные псевдонимы
решение3
Если вы хотите удалить только псевдонимы git, я рекомендую один из следующих двух вариантов:
Изменить
~/.oh-my-zsh/plugins/git/git.plugin.zsh
, удалив все псевдонимы внизуСоздайте копию этого плагина (рекомендуемое расположение:
~/.oh-my-zsh/custom/plugins/git-noalias/git-noalias.plugin.zsh
), отредактируйте ее так, чтобы в ней не было псевдонимов, а затем измените свой~/.zshrc
на doplugins=(git-noalias)
вместоplugins=(git)
.
Это даст вам все преимущества плагина (я не уверен, в чем они заключаются, но они могут быть связаны с автоматическим отображением информации о статусе/ветке Git в папках Git) без псевдонимов.
решение4
Простой метод: Если проблема в нескольких строках псевдонимов git, закомментируйте нужные псевдонимы.запрещать
nano ~/.oh-my-zsh/plugins/git/git.plugin.zsh
закомментируйте нежелательные строки#, чтобы работать быстрее с помощью nano, используйтеЗаменятьфункция
alias g='git'
#alias ga='git add'
#alias gaa='git add --all'
...