清除或停用 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'
...

相關內容