清除或禁用 zsh 中的别名

Siy*_*Ren 18 shell zsh alias oh-my-zsh

我安装了 oh-my-zsh 以使终端使用更容易。不过,让我烦恼的一件事是它添加的多产别名,例如“ga”、“gap”、“gcmsg”、“_”,它们比原始命令更难记住,并且会污染命令哈希表。

那么有没有办法完全禁用别名?或者一种清除所有别名的方法,以便我可以将其放入我的.zshrc?

Gil*_*il' 11

如果你不想要任何 oh-my-zsh 的别名,但你想保留其他别名,你可以在加载 oh-my-zsh 之前保存别名

save_aliases=$(alias -L)
Run Code Online (Sandbox Code Playgroud)

并在之后恢复它们。

eval $save_aliases; unset save_aliases
Run Code Online (Sandbox Code Playgroud)

如果您想在某个时候删除所有别名,您可以使用unalias -m '*'(remove all aliases matching *,即所有别名)。

如果您绝对讨厌别名并且不想看到别名,则可以使alias内置函数无效:unalias -m '*'; alias () { : }. 或者您可以简单地使用setopt no_aliases.


cuo*_*glm 10

您可以使用unaliaswith-m选项:

unalias -m '*'
Run Code Online (Sandbox Code Playgroud)

删除所有定义的别名


A.W*_*Wan 8

如果您只想删除 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 状态/分支信息有关)而没有别名。