我有一个使用2空格缩进的C项目(在 / projects / c 中)和一个带有4空格缩进的C ++项目(在 / projects / cpp 中)。我无法弄清楚如何让Emacs自动做正确的间距,具体取决于我打开文件的位置。
我可以告诉它使用c++-mode
(4个空格)作为.cpp文件,但.h文件(在cpp项目中)仍默认为c-mode
(2个空格)。
我可以在 .emacs 文件中添加一些内容来缩进.h文件不同的空格数或更改模式,具体取决于目录吗?
答案 0 :(得分:7)
目录本地变量:
http://www.emacswiki.org/emacs/DirectoryVariables
您可以使用.dir-locals.el文件,也可以使用dir-locals-set-class-variables
和dir-locals-set-directory-class
函数在.emacs文件中完全配置它。
答案 1 :(得分:1)
将这样的内容放在第一行文件中,该文件的语言无法从扩展名
中删除// This may look like C code, but it really is -*- mode: c++ -*-
答案 2 :(得分:0)
将.h
文件更改为.hpp
是否可以解决问题?