5

何らかの理由で、私のemacsはc++クラスメソッドを間違ってインデントします。

現在:

class B
{
public:
    B()
        {
        }
};

でも私はしたい:

class B
{
public:
    B()
    {
    }
};

誰かが.emacsでそれを作る方法はありますか?

ありがとう!

4

1 に答える 1

13

に設定inline-openしてみてください'0。これにより、クラス内のインラインメソッドを同じインデントレベルで開く中括弧を配置する必要があります。例えば:

(c-set-offset 'inline-open '0)

他にも何かあるかもしれませんが、言うのは難しいです。CC-Modeドキュメントには、さらに役立つオプションとその説明があります。

以下は、あなたが興味を持つかもしれないLinuxコーディングスタイルに基づく私のC++スタイルの例です。

(defun vlad-cc-style()
  (c-set-style "linux")
  (c-set-offset 'innamespace '0)
  (c-set-offset 'inextern-lang '0)
  (c-set-offset 'inline-open '0)
  (c-set-offset 'label '*)
  (c-set-offset 'case-label '*)
  (c-set-offset 'access-label '/)
  (setq c-basic-offset 4)
  (setq tab-width 4)
  (setq indent-tabs-mode nil)
)

(add-hook 'c++-mode-hook 'vlad-cc-style)

それが役に立てば幸い。幸運を!

于 2013-02-03T02:17:24.620 に答える