我安装了 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 别名,我推荐以下两个选择之一:
~/.oh-my-zsh/plugins/git/git.plugin.zsh
通过删除底部的所有别名进行更改制作该插件的副本(推荐位置:)
~/.oh-my-zsh/custom/plugins/git-noalias/git-noalias.plugin.zsh
,编辑该副本以不包含别名,然后将您的~/.zshrc
to 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'
...