如何修复 emacs 中的 C++ 缩进?

时间:2021-06-26 09:08:29

标签: c++ emacs

我一直在尝试在 emacs 中设置 c++ 环境,我面临的主要问题之一是尝试以我喜欢的方式获得缩进:

默认情况下,当我创建类时,emacs 会使 private:public: 缩进到行的开头:

class Main {
private:
public:
};

我希望它完全不缩进这些内容并保持原样:

class Main {
    private:
    public:
};

除此之外,我还想解决这个奇怪的问题,即当我尝试引用命名空间时,emacs 会前后缩进代码:

int main()  {
   std:
}

然后一旦我添加完第二个冒号,它就会恢复到我期望的正常缩进级别:

int main() {
    std::cout << "hello world\n";
}

1 个答案:

答案 0 :(得分:0)

我通过创建自己的 c 样式并自定义 access-labellabel 句法符号的偏移量解决了这个问题:

(c-add-style "my-c-style" '((c-tab-always-indent . t)
                            (c-basic-offset . 4)
                            (c-offsets-alist (access-label . 0)
                                             (label . +))))
;; Setting this as the default style:
(setq c-default-style "my-c-style")


相关问题