在我之前的 Linux 安装中,bash 自动完成功能始终可以正常工作。如果我想对文件执行任何操作,只需给出文件名的前缀,然后按制表符即可列出与前缀匹配的所有内容,但它还会使用我的命令和前缀重复下面的提示,以便我可以立即继续输入。
现在,我已将系统更新为 kubuntu 18.04,自动完成功能不再流畅。更奇怪的是,其行为不可预测,就像它依赖于控制台一样。如果命令是less
,它总是正常工作(如上所述),但如果命令是cp
或mv
,则行为会有所不同。有时它可以正常工作,但通常它会显示带有 more 的匹配文件列表(隐藏我的提示),我必须键入qmore 才能退出并继续。这是一件小事,但却很烦人,因为它需要额外的输入。
我看到了那个.bashrc
呼叫/usr/share/bash-completion/bash_completion
但我还没有对此做任何更改。
问题:是什么原因导致了这种不可预测的行为?我该如何解决它?
答案1
原因很简单:如果终端足够大,自动完成功能可以在提示上方显示所有选项(两列),但如果终端太小,则会使用更多。因此,诀窍是使用足够大的终端。
出于某种原因,我在之前的安装中没有遇到过这种情况,可能是因为终端较大/字体较小。使用 less 时,一切都运行良好,因为替代方案较少,而且它们适合终端。