Emacsのcperl-modeの設定。

 積んでいた「モダンPerl入門」をやっと読み出したりしまして、前々からちょっと気になっていてどうにならないのかと思っていた、arrayとかhashとか時のインデントの挙動を変更したので、.emacs.elから該当部分をまるっと書き出し。
 まぁ、ググるとたくさん出てくるものの寄せ集めだけど、次の誰かが見つかりやすくなる様に。

;; cperl-mode
(defalias 'perl-mode 'cperl-mode)
(setq auto-mode-alist
    (append '(("\\.\\([pP][Llm]\\|al\\)$" . cperl-mode)) auto-mode-alist ))
(add-hook 'cperl-mode-hook
    '(lambda()
        (setq indent-tabs-mode nil)
        (setq cperl-indent-parens-as-block t)
        (setq cperl-close-paren-offset -2)))

 cperl-indent-parens-as-blockというのがその設定項目で、こうしておくと ( とかの後で改行を入れても前行の改行位置と同じ位置にならずに、前行の先頭から一段インデントされた位置にカーソルが置かれます。
 その次のcperl-close-paren-offsetは ) などで閉じた時にどれだけ位置を戻すかという設定で、私のインデントは2文字スペースなのでこうしてます。

 これでかなり自分的にすっきりするインデントになりました。これこれ、この感じ!