emacsのcperl-modeを設定する

Unix系OSでプログラマ向けエディタと言えばemacsとvi(vim)ですが、どちらのエディタにもPerlを使う上で便利な機能を数多く提供しています。ここではemacsのcperl-modeの使用方法を説明します。

  1. cperl-mode.elを入手する
  2. cperl-modeを使うために必要な設定ファイル「cperl-mode.el」は最近のemacs(v22やv23)ではデフォルトでインストールされています。

    また、最新版はPerlのソースコードにも添付されています。

  3. cperl-modeをデフォルトに設定する
  4. emacsにはPerl用のモードとしてcperl-modeと、perl-modeの2種類が標準で備わっていますが、未だに古いperl-modeが優先的に使用されます。

    まずはcperl-modeが自動的に使用されるように設定を変更します。

    .emacsに以下を追記します。

    (defalias 'perl-mode 'cperl-mode)

    この設定はperl-modeの代わりにcperl-modeを適用する、という設定ですが、元々perl-modeが拡張子が.tのテストファイルには自動的には適用されないので、テストコードを書く時に不便な時が有ります。拡張子.tのファイルにも自動的にcperl-modeを適用するためには.emacsに以下のを追記します。

    (setq auto-mode-alist (cons '("\\.t$" . cperl-mode) auto-mode-alist))

  5. あとからcperl-modeを設定する
  6. emacs起動後にcperl-modeに切り替えるには、emacsを起動後以下の通りコマンドを投入します。

    M-x cperl-mode

  7. インデントの設定を変更する
  8. cperl-modeは便利ですが、デフォルトのインデントの設定が空白2つ分になっているので、空白4つの方が良い場合は以下の手順で変更します。

    .emacsに以下を追記します。

    (add-hook 'cperl-mode-hook
              '(lambda ()
                      (cperl-set-style "PerlStyle"))) 

    cperl-modeには予め複数のインデントスタイルが定義されていますが、PerlStyleはインデントを空白4つにしてくれる設定です。

これで好きなカーソル位置でTABキーさえ押せば、きれいなインデントを付けて自動的に整形してくれます。例えば各行でTABキーを1回押すだけでこんな風に整形してくれます。便利ですね。

整形前

{
if ($VERSION) {
print $VERSION;
}
}

整形後

{
    if ($VERSION) {
        print $VERSION;
    }
}


→Perl To The Peopleのインデックスページへ戻る

トラックバックURL

このエントリーのトラックバックURL:
http://ash.roova.jp/mt/mt-tb.cgi/48

コメントする