在Emacs中设置每个目录的c-basic-offset

Setting c-basic-offset per directory in Emacs

本文关键字:c-basic-offset Emacs 设置      更新时间:2023-10-16

我有一个使用2空格缩进的C项目(在/projects/C 中)和一个使用4空格缩进的c++项目(在/projects/cpp中)。我不知道如何让Emacs根据我打开的文件的位置自动执行正确的间距。

我可以告诉它为。cpp文件使用c++-mode(4个空格),但是。h文件(在cpp项目中)仍然默认为c-mode(2个空格)。

我可以在里放点什么吗?Emacs 文件缩进。h文件不同数量的空格或改变模式,取决于目录?

目录局部变量:
http://www.emacswiki.org/emacs/DirectoryVariables

您可以使用.dir-locals。或者您也可以在.emacs文件中使用dir-locals-set-class-variablesdir-locals-set-directory-class函数完全配置它。

在不能从扩展名

推导出该语言的文件的第一行中放入如下内容
// This may look like C code, but it really is -*- mode: c++ -*-

.h文件更改为.hpp是否有效?