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