如何修复在 zsh 中两次输入命令名称的问题?

如何修复在 zsh 中两次输入命令名称的问题?

所以我有这个(坏)习惯,就是输入git,暂停一秒钟看一下我刚刚输入的命令的输出git status,然后再输入git add ...,结果相当不成功git git add ...

zsh 是否有任何功能可以让我始终git git用其单数等效项替换?

答案1

我无法编辑评论,因此这里是适用于所有 Bourne Shell 的工作版本:

git(){ if [ "$1" = git ]; then shift; fi; command git "$@"; }

答案2

一种方法是使用包装函数:

function git { if [[ $1 == "git" ]]; then shift; fi; /path/to/git $@; }

如果存在第二个“git”,则将其丢弃,并git使用请求的参数运行。这应该可以在 zsh、Bash 和 ksh 中工作。

相关内容