清除或禁用 zsh 中的别名

清除或禁用 zsh 中的别名

我安装了 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 '*'(remove all aliases matches *,即全部)。

如果您绝对讨厌别名并且不想看到别名,则可以使alias内置命令不起作用:unalias -m '*'; alias () { : }。或者您可以简单地使用 关闭别名扩展setopt no_aliases

答案2

您可以unalias-m选项一起使用:

unalias -m '*'

删除所有定义的别名

答案3

如果您只想删除 git 别名,我推荐以下两个选择之一:

  1. ~/.oh-my-zsh/plugins/git/git.plugin.zsh通过删除底部的所有别名进行更改

  2. 制作该插件的副本(推荐位置:)~/.oh-my-zsh/custom/plugins/git-noalias/git-noalias.plugin.zsh,编辑该副本以不包含别名,然后将您的~/.zshrcto do更改plugins=(git-noalias)plugins=(git).

这将为您提供该插件的所有好处(我不确定它们是什么,但它们可能与 Git 文件夹中显示的自动 Git 状态/分支信息有关),而无需别名。

答案4

简单方法: 如果问题是多行 git aliases 注释掉你想要的别名禁用

nano ~/.oh-my-zsh/plugins/git/git.plugin.zsh

注释掉不需要的行#,要更快地使用 nano,请使用代替功能

alias g='git'
#alias ga='git add'
#alias gaa='git add --all'
...

相关内容