如何让bash tab completion在参数开始时停止转义glob通配符?
当我尝试在bash中对以如何让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 以及: 当我触发制表符完成时,如何让它停止转义特殊字
?
或*
开头的文件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)
- 我卸载了
,因为它给我的标签完成带来了另一个问题。(Tab completion将我的提示更改为使用第一个匹配项,而不是显示选项。我想从中卸载它。)bash completion
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.