我目前正在开发一个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。
提前致谢。