Bash 完成的第二个配置独立于 TAB 完成

Bash 完成的第二个配置独立于 TAB 完成

是否有可能为 Bash 提供第二种配置,complete使其独立于标准TAB触发配置运行?

我已经编写了专门为我的目的定制的 Bash 文件名补全脚本,但我不想用TAB它替换补全。相反,我想将其映射到不同的键(例如Ctrl+F或一个F#键),以便我可以在需要时轻松使用它,但TAB在大多数情况下继续使用完成。

目前我有一行.bashrc用于测试我的脚本,它工作正常:

complete -o nospace -o filenames -C /path/to/complete_script commands_list

如何配置自定义键来触发完成脚本而不干扰TAB完成?

答案1

如果您的自定义完成仅设计用于commands_list,则这应该有效:将complete命令绑定到第二个组合键,并检查$COMP_KEY脚本中的值(这是键序列中最后一个字符的十进制字符代码)。如果是9(常规选项卡),则执行默认的文件名完成。

相关内容