cc-mode付属のマイナーモードを有効化する

  • このエントリーをはてなブックマークに追加

はじめに

cc-modeにはいくつかのマイナーモードが付属してます。

それらを有効化する方法を書きます。

cc-mode付属のマイナーモード

マイナーモード名説明切り替えコマンドモードラインの表示
syntactic-indentation modeC-jでインデントする(デフォルトで有効)c-toggle-syntactic-indentationなし
electric mode特定の文字を入力すると自動的にインデントする(デフォルトで有効)c-toggle-electric-statel
auto-newline mode特定の文字を入力すると自動的に改行を入れるc-toggle-auto-newlinea
hungry-delete mode<del>や<backspace>で空白文字を消すとき、次の文字が現れるまで空白文字をすべて消す(改行含む)c-toggle-hungry-stateh
subword modeM-fやM-bで移動するとき、次の大文字でストップするsubword-modew

auto-newline modeとhungry-delete-key modeを同時に切り替えできるc-toggle-auto-hungry-stateという切り替えコマンドもあります。

comment styleを切り替えできるモードもありますが、AWK modeのようにそれらの1つしかもたないモードでは無効ですので、設定していません。

マイナーモードの設定方法

CC Mode共通の設定は、「c-mode-common-hook」というフックで設定します。

ここでは、my-c-mode-common-hookという自前のフックを設定し、c-mode-common-hookに追加しています。

(defun my-c-mode-common-hook ()
  (c-toggle-auto-newline 1)
  (c-toggle-hungry-state 1)
  (subword-mode 1)
  )
(add-hook 'c-mode-common-hook 'my-c-mode-common-hook)

参考文献(参考リンク)

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。