为什么zsh允许在git中使用没有空格的别名组合?



我为bash和zsh定义了以下别名:

alias g=git

另外,在git中我配置了git别名alias.st status,这样我就可以用

获得git状态g st.

现在我意识到在zsh中,gst(没有空格)也可以工作。你知道为什么会这样吗?在bash中,同样的命令指向Command 'gst' not found

我已经很久没有使用香草zsh了,而且我个人认为zsh本身不知道gst命令,除非你手动指定它。如果你正在使用流行的框架oh-my-zsh,它有一个git插件,它定义了大约130个额外的git别名,其中一些确实包括gst

cat $HOME/.oh-my-zsh/plugins/git/git.plugin.zsh | grep "gst"
alias gst='git status'
alias gsta='git stash save'
alias gstaa='git stash apply'
alias gstc='git stash clear'
alias gstd='git stash drop'
alias gstl='git stash list'
alias gstp='git stash pop'
alias gsts='git stash show --text'

如果你在.zshrc中启用了这个插件,那么默认情况下你也可以访问这个别名(以及其他129)。

最新更新