如何找出 zsh tab 补全使用哪个函数

pse*_*ert 4 zsh-completion

我想知道 zsh 使用哪个函数来完成命令的制表符。\n对于许多命令(makelscd\xe2\x80\xa6),我显然可以猜测_<COMMANDNAME>,但实际上我可能已经用 覆盖了此设置compdef _mycd cd

\n\n

我想知道这个问题的原因有两个:

\n\n
    \n
  1. 我可能想阅读一些函数定义,以便在我正在编写的函数中使用其中的一部分
  2. \n
  3. 我想编写一个完成函数,它本身调用其他命令的完成(就像在 中所做的那样_nice,但我可能不依赖shift; CURRENT--; _normal
  4. \n
\n

pse*_*ert 5

当前完成规则存储在$_comps. 因此可以显示cdwith的完成规则echo $_comps[cd]并显示 with 的实际函数定义functions $_comps[cd]