19

可能重复:
Emacs - 覆盖缩进

我想要的是 emacs 不缩进命名空间内的代码

namespace a_namespace{

// no indentation
int namespace_global_variable;


// no indentation
class Class {
    // comment
    Class();
    //...
};

// and so on


}

当我尝试修改innamespace变量或使用C-c C-o更改感兴趣点的缩进时,我没有得到预期的效果(实际上后者消除了函数内部的所有缩进)。

我的缩进配置如下所示(从 Google emacs 配置中复制):

(c-offsets-alist . ((arglist-intro vista-c-lineup-expression-plus-4)
                    (func-decl-cont . ++)
                    (member-init-intro . +)
                    (inher-intro . ++)
                    (comment-intro . 0)
                    (arglist-close . c-lineup-arglist)
                    (topmost-intro . 0)
                    (block-open . 0)
                    (inline-open . 0)
                    (substatement-open . 0)
                    (statement-cont
                     .
                     (,(when (fboundp 'c-no-indent-after-java-annotations)
                         'c-no-indent-after-java-annotations)
                      ,(when (fboundp 'c-lineup-assignments)
                         'c-lineup-assignments)
                      ++))
                    (label . /)
                    (case-label . +)
                    (statement-case-open . +)
                    (statement-case-intro . +) ; case w/o {
                    (access-label . /)
                    (innamespace . -))))
4

1 回答 1

18
(defconst my-cc-style
  '("cc-mode"
    (c-offsets-alist . ((innamespace . [0])))))

(c-add-style "my-cc-mode" my-cc-style)

来自Jason Zhang回答。在这里工作。

于 2012-12-11T17:35:55.683 回答