如何让bash tab completion在参数开始时停止转义glob通配符?

如何让bash tab completion在参数开始时停止转义glob通配符?,bash,glob,tab-completion,bash-completion,Bash,Glob,Tab Completion,Bash Completion,当我尝试在bash中对以?或*开头的文件glob模式使用tab completion时,我得到了预期的完成选项列表,但随后修改了命令提示符以转义glob特殊字符 例如: $ ls *.txt # tab-complete instead of enter bar.txt fib.txt foo.txt $ ls \*.txt # now my '*' is escaped 以及: 当我触发制表符完成时,如何让它停止转义特殊字

当我尝试在bash中对以
*
开头的文件glob模式使用tab completion时,我得到了预期的完成选项列表,但随后修改了命令提示符以转义glob特殊字符

例如:

$ ls *.txt                  # tab-complete instead of enter
bar.txt  fib.txt  foo.txt
$ ls \*.txt                 # now my '*' is escaped
以及:

当我触发制表符完成时,如何让它停止转义特殊字符

*
特殊字符不在完成模式的开头时,不会发生这种情况:

$ ls f*.txt       # tab-complete
fib.txt  foo.txt
$ ls f*.txt       # my prompt doesn't change. This is what I want.
这个问题似乎非常类似于:

不过,似乎没有一个解决方案能解决我的问题

有关我的设置的一些信息:

  • My
    ~/.inputrc
    包含(几乎是独占的)
    设置编辑模式vi
    设置如果未在
    上修改,则全部显示
  • 我使用的是bash版本5.0.17(1)-发行版(x86_64-pc-linux-gnu)
  • 我卸载了
    bash completion
    ,因为它给我的标签完成带来了另一个问题。(Tab completion将我的提示更改为使用第一个匹配项,而不是显示选项。我想从中卸载它。)

这是一个有趣的问题,但StackOverflow致力于帮助解决编程代码问题。您的Q可能更适合或可能更适合,但请阅读他们关于主题问题的帮助部分。在这里发布更多Qs之前,请阅读和。祝你好运。谢谢你的重定向。由于我没有在这两个问题上重新发帖,我只在这里留下一条评论,问题是
show all if unmodified
。我可能在仍然安装了
bash completion
时启用了它。如果没有
bash完成
,我既不希望
在未修改时显示全部
也不希望
在不明确时显示全部
$ ls f*.txt       # tab-complete
fib.txt  foo.txt
$ ls f*.txt       # my prompt doesn't change. This is what I want.