【问题标题】:Bash tab completion adds extra space after the first completionBash tab 补全在第一次补全后增加了额外的空间
【发布时间】:2012-08-12 11:36:44
【问题描述】:

如果完成目标是多级文件夹中的文件,则 Bash 选项卡完成会在第一次完成后停止进一步完成。

例如,我在路径~/Documents/foo/bar.txt 中有一个文件,我想列出它。 输入时遇到以下问题

a@b:~$ls Docu <TAB>

我明白了

a@b:~$ls Documents |(<-this is the cursor, so there is an extra space afer Documents)

所以我不能进一步完成标签。我必须退格来删除多余的空间。

通常我想得到:

a@b:~$ls Docu <TAB>
a@b:~$ls Documents/ <TAB>
a@b:~$ls Documents/foo/ <TAB>
a@b:~$ls Documents/foo/bar.txt

【问题讨论】:

标签: bash tab-completion


【解决方案1】:

我也通过改变解决了这个问题 _filedir 与 _filedir_pdf 在 /etc/bash_completion.d/acroread.sh (Ubuntu 12.04)

acroread bash 补全改变了 _filedir 函数,从而改变了许多其他的 alsobash 补全函数的行为

【讨论】:

    【解决方案2】:

    这已在 askubuntu 上回答 here。与bughere有关

    来自上述线程的相关答案:

    编辑 /etc/bash_completion 第 1587 行,将默认设置更改为文件名(先备份)。

    【讨论】:

      【解决方案3】:

      仅作记录:在 adobereader-enu (acroread) 包中还有一个错误会破坏 bash 完成。在这种情况下,您可以删除符号链接:

      rm /etc/bash_completion.d/acroread.sh
      

      另请参阅:https://bugs.launchpad.net/ubuntu/+source/acroread/+bug/769866

      【讨论】:

      • 已移除.. 并修复 :)
      • 这里一样,不错!
      • 我们必须安装 acroread 以在 RHEL8 上兼容应用程序。直到 RHEL7(包括 RHEL7)都没有引起任何问题,因此 7 年后发现这个问题是版主需要摆脱“线程复活”高马的一个典型例子。有非常好的理由说明“9 年零 1 个月前”的问题可能不仅与今天相关,而且甚至是新的。
      【解决方案4】:

      我在 Ubuntu 11.10 和 12.04 中完成 bash 时遇到了同样的问题。我发现通过编辑 /etc/bash_completion 可以让许多命令开始正常工作。具体来说,我注释掉了以下部分:

      ####
      # makeinfo and texi2dvi are defined elsewhere.
      #
      #for i in a2ps awk bash bc bison cat colordiff cp csplit \
      #    curl cut date df diff dir du enscript env expand fmt fold gperf gprof \
      #    grep grub head indent irb ld ldd less ln ls m4 md5sum mkdir mkfifo mknod \
      #    mv netstat nl nm objcopy objdump od paste patch pr ptx readelf rm rmdir \
      #    sed seq sha{,1,224,256,384,512}sum shar sort split strip tac tail tee \
      #    texindex touch tr uname unexpand uniq units vdir wc wget who; do
      #    have $i && complete -F _longopt -o default $i
      #done
      

      现在 ls 再次运行良好。我还没有弄清楚为什么 mv 仍然行为不端。

      【讨论】:

      • 谢谢!我快疯了。在全新安装 12.04 后,这开始发生在我身上(我在早期版本的 Ubuntu 中从未遇到过这个问题。不过,我的旧系统已升级到 11.10)。
      • 谢谢,这几个月来一直困扰着我!我什至提交了错误报告,但似乎没有人跟进。这刚刚奏效,包括mv。希望我没有看到任何奇怪的副作用,但我充满希望。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-18
      • 2015-08-06
      • 2011-07-12
      • 1970-01-01
      • 2011-10-30
      • 2023-03-18
      相关资源
      最近更新 更多