設定でやったこと

Perlな会社に行くので、設定を整えるというありがちなところから。

perltidy

インデントとかを整理してくれるもの。

sudo perl -MCPAN -e shell

として、

install YAML
install Perl::Tidy

をやった。その後に.emacsに以下を追記。M-x perltidy-regionでインデントなどがされる。

(defun perltidy-region ()
  "Run perltidy on the current region."
  (interactive)
  (save-excursion
    (shell-command-on-region (point) (mark) "perltidy -q" nil t)))
(defun perltidy-defun ()
  "Run perltidy on the current defun."
  (interactive)
  (save-excursion (mark-defun)
                  (perltidy-region)))

括弧の補完

load-pathの通ったところにbrackets.elを保存。

wget http://www.mcl.chem.tohoku.ac.jp/~nakai/emacs/site-lisp/brackets.el
(load "brackets.el")
(add-hook 'cperl-mode-hook
          '(lambda()
             (progn
               (define-key cperl-mode-map "{" 'insert-braces)
               (define-key cperl-mode-map "(" 'insert-parens)
               (define-key cperl-mode-map "\"" 'insert-double-quotation)
               (define-key cperl-mode-map "'" 'insert-single-quotation)
               (define-key cperl-mode-map "[" 'insert-brackets)
               (define-key cperl-mode-map "\C-c}" 'insert-braces-region)
               (define-key cperl-mode-map "\C-c)" 'insert-parens-region)
               (define-key cperl-mode-map "\C-c]" 'insert-brackets-region)
               (define-key cperl-mode-map "\C-c\"" 'insert-double-quotation-region))))