私は 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 つが私の設定に干渉している可能性はありますか?