有没有办法为 cd 选项卡设置着色完成?

chr*_*lee 27 colors bash zsh autocomplete

我使用 ubuntu 11.04。

在完成 cd、ls 等选项卡列表后,有没有办法为输出设置颜色?

IE

myshell@root$ cd ~/user/files/ 我点击了标签...

myfile myfoo mybar <-- 这个输出是彩色的?

我希望你喜欢我的图表。

Lri*_*Lri 25

使用 readline 6.3 及更高版本,您可以添加

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

到~/.inputrc。

见https://tiswww.case.edu/php/chet/readline/rluserman.html:

colored-stats

如果设置为 ` on',Readline 会使用不同的颜色显示可能的补全,以指示其文件类型。颜色定义取自LS_COLORS环境变量的值。默认值为` off'。

您可以使用http://geoff.greer.fm/lscolors/生成LS_COLORS(由 GNUls和 使用colored-stats)和LSCOLORS?(由 BSD 使用ls)。

  • 您可能需要`$if Bash\nset colour-stats on\n$endif` 以避免其他程序不理解新的readline 函数的错误。 (2认同)

Gil*_*il' 10

我不知道它是否在 bash(默认 shell)中。在zsh 中是可能的(一个比 bash 更强大的 shell,在包括Ubuntu在内的大多数 unice 上可用,但默认情况下通常不安装)。

第一次运行 zsh 时,它会为您创建一个配置文件 ( ~/.zshrc)。默认配置有点贫瘠,为了历史兼容性。对于彩色补全列表,选择2配置“新补全系统”,然后2再次调整;在compinstall菜单中,选择3设置显示补全的样式,3然后1启用彩色补全,最后2使用与ls.

如果您更喜欢手动设置,以下是您需要的行.zshrc:

zstyle ':completion:*' list-colors "${(@s.:.)LS_COLORS}"
autoload -Uz compinit
compinit
Run Code Online (Sandbox Code Playgroud)

该list-colors样式调整文件名完成的颜色。