如何获得彩色的标签补全?

如何获得彩色的标签补全?

在终端中使用制表符补全时,有没有办法获得彩色输出?其他地方的颜色都很好,所以我知道我已成功启用彩色终端。

在 Ubuntu(10.10)中使用 bash。

答案1

Bash 中没有在完成期间对输出进行颜色处理的功能,而 fish 和 zsh 中却有。你可以编写输出颜色控制序列的完成函数,但你必须保留带有和不带有颜色代码的建议完成的副本,或者在用户进行选择时将其删除,因为 Bash 通常直接使用选择,而颜色代码会妨碍操作。

如果这对您来说是一个重要的功能,我建议您考虑使用 zsh。

更新

Bash 4.3 readline 添加了一个变量,用于启用制表符补全的颜色,以便在制表符补全期间显示可执行文件、目录等的不同颜色:

colored-stats

即将推出的 Bash 4.4 中的 Readline 添加了一个变量,可以在制表符补全期间使用颜色指示字符串的匹配部分。

colored-completion-prefix

您可以使用以下方式查看这些变量的值

bind -v | grep color

~/.inputrc要设置它们,请在文件中添加如下行:

set colored-stats on

答案2

我不知道命令选项和参数的完成颜色,但是对于文件名和目录,根据(https://unix.stackexchange.com/a/133866)user495470 指出,在 Bash 4.3 及更高版本中,您可以添加set colored-stats on~/.inputrc获得彩色完成ls <tab>

相关内容