清除或禁用zsh中的别名


12

我安装了oh-my-zsh,使终端的使用更加轻松。不过,令我困扰的一件事是它添加的多产别名,例如“ ga”,“ gap”,“ gcmsg”,“ _”,这些别名比原始命令更难记,并且污染了命令哈希表。

那么有没有一种方法可以完全禁用别名呢?还是一种清除所有别名以便将其放入我的方式.zshrc

Answers:


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

我确实把它放在最后。这就是为什么它如此令人困惑。
任思远2014年

什么是输出zstyle
cuonglm 2014年


3

如果只想删除git别名,则建议使用以下两种选择之一:

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

  2. 制作该插件的副本(推荐位置:)~/.oh-my-zsh/custom/plugins/git-noalias/git-noalias.plugin.zsh,编辑该副本以使其不具有别名,然后将其更改~/.zshrcplugins=(git-noalias)而不是plugins=(git)

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.