我目前正在开发一个C ++项目。我使用CMake作为构建系统,我很想拥有所有与CMake相关的文件(如 CMakeLists.txt )颜色不同 ls 命令输出。这样我就可以轻松地将它们与源代码文件区分开来。
我试图同时使用 dircolors 并直接编辑 $LS_COLORS 环境变化我在两种情况下都失败了。似乎这些解决方案只提供了一些方法来为某些特定于Linux的文件(例如链接)或选定的扩展名着色。
总而言之,这就是我所做的:
OLD_LS_COLORS=$LS_COLORS # Backup
export LS_COLORS="${LS_COLORS}CMakeLists.txt=00;36:" # Adding it at the beginning of the list also fails
ls # No colors at all
export LS_COLORS=$OLD_LS_COLORS # Cleanup
dircolors -p > ~/.dir_colors
echo "CMakeLists.txt 01;33" >> ~/.dir_colors
eval `dircolors ~/.dir_colors` # Throws "unrecognized keyword CMakeLists.txt"
我的问题的解决方法是为源文件着色( .hxx, .cxx )但我想坚持只着色CMake文件。另一方面,我可以只是着色 .txt 和 .cmake 文件然后所有文本文件将以这种方式着色。
将Makefile着色(没有扩展名的文件) ls 输出将是一个很好的奖金。
我正在使用Debian 9 bash 4.4.12和 ls 8.26。
提前致谢。