【问题标题】:Bash auto-completion highlightingBash 自动完成突出显示
【发布时间】:2018-06-27 22:21:34
【问题描述】:

我想知道是否可以让 bash 自动完成突出显示自动完成建议的匹配部分。

例如, 我的目录包含以下文件:

LSFJOB_647169535/ LSFJOB_647158534/

在这种情况下,如果我输入 LSF 并点击 Tab,那么我会得到:

LSFJOB_6471

但是我必须集中精力才能确定接下来应该输入哪个字符。

我想 bash 给我一些类似的建议:

<b>LSFJOB_6471</b>69535/ <b>LSFJOB_6471</b>58534/

LSFJOB_6471<b>6</b>9535/ LSFJOB_6471<b>5</b>8534/

你知道怎么做吗?

【问题讨论】:

    标签: bash autocomplete


    【解决方案1】:

    这是个好问题!

    Dennis Williamson 已经回答了there(超级用户)。

    事实证明,有一个“ReadLine 变量”可以做到这一点:colored-completion-prefix

    遗憾的是,它仅在 Bash v4.4 中可用:c Link to the diff

    你可以用bind -v|grep color检查它的值

    我尝试与compgen 一起玩,但它似乎将颜色剥离/:

    【讨论】:

      【解决方案2】:

      您可以添加较旧的 (Bash 4.0),而不是需要 Bash 4.4 的 colored-completion-prefix

      set completion-prefix-display-length 2
      

      发送至您的~/.inputrc(请参阅manual)。这会在显示补全时用省略号替换任何超过 2 个字符的公共前缀:

      $ ls
      LSFJOB_647158534  LSFJOB_647169535
      $ cd LSFJOB_6471<tab>
      ...58534/ ...69535/
      

      【讨论】:

        猜你喜欢
        • 2011-04-11
        • 1970-01-01
        • 2023-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-19
        • 2012-04-10
        • 2012-10-20
        相关资源
        最近更新 更多