bash - 'man'完整函数在哪里?

标签 bash tab-completion

当我输入这样的内容时:

$ complete -p | grep -ie '\<man\>'

或者:

$ find /etc/bash_completion.d/ -iname '*man*'

或者:

$ grep -rie '\<man\>' /etc/bash_completion.d/

我没有找到 man 命令的 complete 函数的任何痕迹!

目标是为我自己制作的函数之一添加此完成:

complete -F <the_man_complete_function> <my_man_related_command>

有什么想法吗?

最佳答案

我无法为您提供完整的解决方案,但我在我的系统上发现了以下内容

如果我运行一个新的 shell 并输入:

> complete -p man
bash: complete: man: no completion specification

如果我尝试使用以下命令自动完成 man 命令:

> man [tab][tab]
Display all 16625 possibilities? (y or n)
CTRL-C

现在:

> complete -p man
complete -F _man man

为什么是现在?没有答案,但现在我可以得到:

> complete -p | grep _man
complete -F _man man
complete -F _man apropos
complete -F _man whatis

我希望这会有所帮助。令人费解的是,为什么只有先使用后才有效。还有人有想法吗?

关于bash - 'man'完整函数在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25507213/

相关文章:

python - IPython 自定义制表符完成用户魔法功能

powershell - 在选项卡完成期间,PowerShell别名看不到参数

matlab - 如何在 MATLAB 编辑器中启用自动单词完成?

bash - 在 bash 脚本中打开文件

linux - Grep csv 与来自另一个 csv 的参数

linux - 编写一个 txt 文件的脚本,询问您想要在文件中包含什么内容

arrays - 如何在shell脚本中获取JSON中向量的大小?

Bash:所有子文件夹上的 Tab 文件名完成

带有 vim 键绑定(bind)和方法/变量完成的 Node.js REPL

bash - 使用 find、xargs 删除文件扩展名