1

私は emacs の初心者で、cc モード用にインデント スタイルを設定しようとしています。私は次のようなコードを書くのが好きです:

if(true)
{
    foo();
    bar();
}

しかし、デフォルトのインデント スタイルは次のようになります。

if(true)
  {
    foo();
    bar();
  }

デフォルトは「gnu」ですが、私が望むインデントスタイルは「bsd」のようです。設定を変更するために、init.el ファイルに次のように記述します。

(setq c-default-style "bsd")
(setq c-basic-indent 4)
(setq c-basic-offset 4)

これにより、オフセットとデフォルトのスタイルが変更されましたが、コードを入力すると、まだ gnu スタイルのようにフォーマットされていました。明確にするために、入力するif(true) [ENTER] { [ENTER] foo(); [ENTER] }と、結果は gnu スタイルのコードになります。同じ結果を得るために、これを init.el にも入れてみました。

(defun my-c-mode-hook ()
(setq c-basic-offset 4
    c-indent-level 4
    c-default-style "bsd"))
(add-hook 'c-mode-common-hook 'my-c-mode-hook)

ミニバッファーでこの式を評価して次の(message "%s %s %d" c-default-style c-indentation-style c-basic-offset)結果を得たため、設定が確実に変更されたことがわかります。"bsd bsd 4"

グラフェンを使用しています。含まれているパッケージ (smartparens または autocomplete など) の 1 つが私の設定に干渉している可能性はありますか?

4

0 に答える 0