2011-09-13 7 views
1

EmacsのCCモードでは、 "bsd"スタイルを使用しようとしていますが、すべての行がデフォルトで8の代わりに4ずつインクリメントされるようにしています。.emacsファイル:私は置いた:EmacsのCスタイルを変更しない

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

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

+0

[ファイル変数] [1]は設定を上書きしていますか? [1]:http://www.gnu.org/s/libtool/manual/emacs/File-Variables.html – phimuemue

答えて

8

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) 
1

そうだね。 .emacsファイルでこれらの行を実行しましたか?彼らの最後に行き、C-x C-eをしてください。それでも動かない場合は、emacsをクローズして再起動してください(強制的に.emacsファイルを再読み込みします)。それでもうまくいかない場合は、スクラッチバッファーなどに行き、(message "%s %d %d" c-default-style c-basic-offset c-indent-level)を実行して、emacsがそれらの値をどのファイルに上書きしているのかを確認してください。モードを使用してCタイプモードになっていることを確認します。

関連する問題