Shammer's Philosophy

My private adversaria

Emacsで改行+自動インデント

JavaやCでプログラムを書くと、;や{や}を頻繁に入力する。
そして、これらの後では大抵改行が入り、そしてブロックに応じてインデントもする。
この改行と自動インデントを両方同時に有効にしたい。
自分のHOMEディレクトリに、.emacsというファイルを作り、その中に以下の設定を追加すればよいらしい。

;; センテンスの終了である ';' を入力したら、自動改行+インデント
(c-toggle-auto-hungry-state 1)
;; RET キーで自動改行+インデント
(define-key c-mode-base-map "\C-m" 'newline-and-indent)

実際には、EmacsのCモード時に有効にすればよいので、

(add-hook 'c-mode-common-hook
         '(lambda ()
            (c-toggle-auto-hungry-state 1)
            (define-key c-mode-base-map "\C-m" 'newline-and-indent)
))

と追加してやればよいらしい。
この情報は、clmemo@aka: Emacs で C 言語プログラミングを始める人へのイントロダクションの情報を参考にさせていただきました。
どうもありがとうございます。