1

Emacs CC モードでは、「 bsd」スタイルを使用しようとしていますが、デフォルトですべての行が 8 ではなく 4 ずつインデントされるようにしています。

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

ただし、すべての行は依然として 8 つのスペースにインデントされています。どこに問題があるのか​​ 本当にわかりません。GNU Emacs 23.3.1 を実行しています。

4

2 に答える 2

9

CC モード設定はバッファ ローカルであり、問​​題を引き起こす可能性があります。これを構成する最善の方法は、カスタマイズをフックに入れることです。これにより、cc-mode がc-basic-offsetバッファーをローカルにしたかどうかに関係なく、モードの開始時に変更が適用されることが保証されます。私はこれに似たものを使用します:

(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)
于 2011-09-13T18:08:13.110 に答える
1

それは正しいように見えます。.emacs ファイルでこれらの行を実行しましたか? それらの最後に移動して実行しますC-x C-e。それでもうまくいかない場合は、emacs を閉じて再起動します (強制的に .emacs ファイルを再読み込みします)。それでもうまくいかない場合は、スクラッチ バッファなどに移動し、実行(message "%s %d %d" c-default-style c-basic-offset c-indent-level)して、emacs がそれらの値をどのように認識しているかを確認します (これらの値を上書きする別のファイルを含めている可能性がありますか?) 次に、CC ファイルの 1 つをロードし、モードを確認します。 Cタイプモードであることを確認してください。

于 2011-09-13T15:46:24.473 に答える