Emacs - 覆盖缩进

2022-01-02 00:00:00 namespaces indentation c++ emacs

我有一个多重嵌套的命名空间:

I have a multiply nested namespace:

namespace first {namespace second {namespace third {
              // emacs indents three times
    // I want to intend here
} } }

所以 emacs 缩进到第三个位置.但是我只想要一个缩进.
能不能简单的达到这个效果?

so emacs indents to the third position. However I just want a single indentation.
Is it possible to accomplish this effect simply?

推荐答案

在命名空间内使用绝对缩进列:

Use an an absolute indentation column inside namespace:

(defconst my-cc-style
  '("gnu"
    (c-offsets-alist . ((innamespace . [4])))))

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

然后使用c-set-style来使用你自己的风格.

Then use c-set-style to use your own style.

请注意,这只适用于 c++-mode,c-mode 不知道 'innamespace'.

Note that this only works in c++-mode, c-mode doesn't know 'innamespace'.

相关文章