Answers:
Bash中没有工具可以像鱼和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
LS_COLORS
环境变量的值。” 该变量的文档在这里。man
页面没有设置,因此您需要查看LS_COLORS
设置的位置,找到对应的颜色组合并进行更改。在我的系统上,man
页面名称在制表符完成时不会变色(符号链接断开,而ls
输出显示为红色,...
bind -v | grep color
显示set colored-completion-prefix on
和set colored-stats on
?如果是这样,当您键入字母a并按两次Tab键时会发生什么?如果您已将设置添加到您的设置中,~/.inputrc
但尚未启动新终端或未按re-read-init-file
Ctrl-x Control-R来执行,则设置将不会生效。
我不知道完成颜色命令选项和参数,但对于文件名和目录,根据(/unix//a/133866)user495470指出,在猛砸4.3及更高版本,您可以添加set colored-stats on
到~/.inputrc
以获得彩色完成的时候做ls <tab>
。