Saturday, December 13, 2008

emacsのerlang-modeで自動改行やインデントを設定する

emacsのerlang-mode は非常に便利だが、デフォルトの設定であると自動改行が有効なので自分が期待していない場所で改行されてしまうことがある。

erlang-electric-commands という変数に有効にしたいelectricコマンドのリストを設定することで自動改行の挙動を変更することができる

erlang-electric-commandsのデフォルトの設定は以下のようになっている


(defvar erlang-electric-commands
'(erlang-electric-comma ; ','の文字で自動改行
erlang-electric-semicolon ; ';'の文字で自動改行し現在の場所と同じ関数名を自動挿入
erlang-electric-gt) ; '>' の文字で自動改行 ('->' などの文字に反応することを想定している)
)


自分の場合はセミコロンの時の設定だけ残し、あとはリターンキーでオートインデントして欲しかったので以下のように設定した。


(setq erlang-electric-commands '(erlang-electric-semicolon erlang-electric-newline))


ピリオド'.'で自動改行するようにもしたいのだが現在その方法は調査中