c-modeの自動インデントを無効化

emacs C-modeのTAB設定を完全に無効にする - nakayama-blog


ここにあるように, デフォルトだと c-modeってコンマとかカッコをタイプしただけで
オートインデントされます。自分でスクラッチから書いたような場合は別に
これでも問題ないですが、他人の書いたコードを編集している場合は
困ることがあります。


で、上記のサイトでは該当する各キーの機能を unsetしていますが、
TABを除くと c-toggle-electric-state(C-c C-l)で無効化できます。


有効であるか、無効であるかはModelineを見ることで確認できます。

有効な場合

無効な場合

'C/l'だと有効で, 'C'だと無効です。
全部無効にするというのもありですが、切り替えてやるって方が
基本的には楽でしょうね。

追記

デフォルトで無効にしておきたい場合は c-mode-hookに以下を追加すればよい。

(add-hook 'c-mode-hook
          '(lambda ()
             (c-toggle-electric-state -1)))