如何获得彩色标签完成?

Rya*_*yan 21 bash

在终端中使用选项卡完成时,有没有办法获得彩色输出?我的颜色在其他地方都很好,所以我知道我已经成功启用了一个彩色终端。

在 Ubuntu (10.10) 中使用 bash。

Den*_*son 27

Bash 中没有像fish 和zsh 那样在完成期间为输出着色的工具。可以编写输出颜色控制序列的补全函数,但是您必须保留带有和不带颜色代码的建议补全的副本,或者在用户进行选择时将其删除,因为 Bash 通常直接使用选择,而颜色代码会挡道。

如果这对您来说很重要,我建议您考虑使用 zsh。

更新

Bash 4.3 readline 添加了一个变量,该变量使选项卡完成的颜色能够在选项卡完成期间为可执行文件、目录等显示不同的颜色:

colored-stats
Run Code Online (Sandbox Code Playgroud)

即将推出的 Bash 4.4 中的 Readline 添加了一个变量,该变量使颜色能够在选项卡完成期间指示字符串的匹配部分。

colored-completion-prefix
Run Code Online (Sandbox Code Playgroud)

您可以使用以下命令查看这些变量的值

bind -v | grep color
Run Code Online (Sandbox Code Playgroud)

要设置它们,请将行添加到您的~/.inputrc文件中,例如:

set colored-stats on
Run Code Online (Sandbox Code Playgroud)

  • @AndyCarlson 当您按 ctrl-x ctrl-v 时,bash 提示符下的输出是什么? (2认同)