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

时间:2011-12-08 21:58:06

标签: c++ c emacs

我有一个使用2空格缩进的C项目(在 / projects / c 中)和一个带有4空格缩进的C ++项目(在 / projects / cpp 中)。我无法弄清楚如何让Emacs自动做正确的间距,具体取决于我打开文件的位置。

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

我可以在 .emacs 文件中添加一些内容来缩进.h文件不同的空格数或更改模式,具体取决于目录吗?

3 个答案:

答案 0 :(得分:7)

目录本地变量:
http://www.emacswiki.org/emacs/DirectoryVariables

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

答案 1 :(得分:1)

将这样的内容放在第一行文件中,该文件的语言无法从扩展名

中删除
// This may look like C code, but it really is -*- mode: c++ -*-

答案 2 :(得分:0)

.h文件更改为.hpp是否可以解决问题?