我在bash工作的最大恶化之一是长期破坏的命令完成。 有数百个编程的命令完成,每天写的更多,一些由发行版(我目前主要使用ubuntu linux)或上游, 还有一些是我公司的人。不可避免的是,在任何特定时间,都有数十个被打破。我接受了。
我不接受的是,当命令完成失败使我无法完成文件名完成时。 文件名完成对我的工作效率至关重要;当我无法访问它时,它对我的工作流程非常痛苦和破坏。
有一段时间,我只是禁用了所有命令完成,因为我判断 可靠的文件名完成对我来说比价值更重要 所有其他命令完成的总和。
但是......然后我决定再试一次,所以不要禁用 他们都是,我在我的.bashrc中将我知道的那些一个一个地列入黑名单:
#
# Blacklist for known broken command completions
#
# Command completions prevent vim'ing .jpg files!? Not ok.
complete -r vi
complete -r vim
complete -r view
complete -r google-chrome # google-chrome ./myFil<tab>
# The rest of these are gratuitous strong evil magic
# that can't be killed by "complete -r",
# so stronger good magic "complete -F _minimal" is necessary instead.
complete -F _minimal ci # ci -l ./java<tab> when ./javacpp and ./javarenumber both exist but only javarenumber has been previously checked in
complete -F _minimal alias # alias pppp ~/<tab>
在大多数情况下,黑名单对我有用 在我第一次发现另一个命令完成的那个可怕时刻,除了 当我正在尝试快速完成文件名时,它已经坏了。 在那一刻,我需要一些&#34;在紧急情况下突破玻璃&#34;覆盖机制。
我要求的是以下之一:
答案 0 :(得分:3)
使用 Alt + / 。它以文件名完成,而不是通过可编程完成。
来自man bash
:
complete-filename (M-/)
Attempt filename completion on the text before point.