小编Eri*_*tch的帖子

如何将第二个参数(函数)的 Zsh 自动完成规则设置为现有命令的规则?

我有一个自定义的 Zsh 函数g

function g() {
  # Handle arguments [...]
}
Run Code Online (Sandbox Code Playgroud)

在其中,我处理执行 Git 命令的简短参数。例如:

g ls # Executes git ls-files ...
g g  # Executes git grep ...
Run Code Online (Sandbox Code Playgroud)

我需要能够将自动完成规则设置为 Git 的短参数规则,但我不确定如何执行此操作。

例如,我需要g ls <TAB>使用制表符完成规则,git ls-files <TAB>这些规则将为我提供以下参数git ls-files

$ g ls --<TAB>
--abbrev                 -- set minimum SHA1 display-length
--cached                 -- show cached files in output
--deleted                -- show deleted files in output
# Etc...
Run Code Online (Sandbox Code Playgroud)

这不仅仅是设置g为自动完成,git因为我将自定义短命令映射到 Git 命令。

zsh git autocomplete

10
推荐指数
1
解决办法
3667
查看次数

标签 统计

autocomplete ×1

git ×1

zsh ×1