perl向けのemacs設定

今まではemacsの設定を最低限のものにしていたのですが、やはり生産性というものを上げようと考えた時に、エディタの便利な機能は使いこなしておいた方がいいのかな、と思いました.


そのとっかかりとして下記のtypester先生の資料で紹介されている拡張と設定を行ないました。これは前々回のCasualPerlのスライドですね。
http://typester.stfuawsc.com/slides/perlcasual2/start.html


割と手間取ってしまったので、設定メモ。
f:id:memememomo:20100808185050p:image

emacsのアップデート

さっそく設定をインストールしようとしたら、失敗しまくり。
その原因がemacsのバージョンでした。
「21.x.x」を使っていました。
現在のEmacsのバージョンは「23.x.x」なので、インストールし直しました。
これで後述の「auto-install.el」が正常に動作するようになりました。

ディレクトリ作成

emacsの拡張は通常「.emacs.d/」の下に置きます。
今回は、設定も各拡張毎にファイルを分割してこのディレクトリに置くことにします。
ということで下記のコマンドで、各ファイル用のディクレトリを作成しました。

拡張用のディレクトリ
$ mkdir ~/.emacs.d/elisp

設定ファイル用ディレクトリ
$ mkdir ~/.emacs.d/conf

auto-install.elとinit-loader.elのインストール

http://www.emacswiki.org/emacs/download/auto-install.el
auto-install.elは、emacs拡張のダウンロードとインストールを行なってくれる拡張です。


http://svn.coderepos.org/share/lang/elisp/init-loader/init-loader.el
init-loader.elは、複数の設定ファイルを読み込んでくれる拡張です。


ダウンロードしたファイルを「~/.emacs.d/elisp」に移します。
そして、「./emacs」に下記のような設定を加えます。

(add-to-list 'load-path "~/.emacs.d/elisp")

(require 'auto-install)
(setq auto-install-directory "~/.emacs.d/elisp/")

(require 'init-loader)
(init-loader-load "~/.emacs.d/conf")


これで二つの拡張がロードされます。

auto-install.elで拡張をインストール

auto-install.elで次の拡張をインストールします。


各拡張の概要はtypester様のスライドを参照。

anything.elとperl-completion.elのインストール

この二つの拡張は下記のコマンドでインストールできます。
M-x auto-install-batch


このコマンドを入力した後に、拡張の名前を入力するとダウンロードとインストールが始まります。
処理の流れとしては、ダウンロードが始まってダウンロードが終了するとソースが表示されます。
そのときに「C-c C-c」と入力していくと次々とインストールされていきます。


auto-complete.el anything-project.el flymake.el perl-tidy.elをインストール

これらの拡張は、下記のコマンドにURLを指定します。
M-x auto-install-from-url



各拡張のURLは次の通りです。

拡張の設定

インストールした拡張に対する設定を書いていきます。
と、言っても大変なので、人の力を借ります。
typester先生が公開されているemacsの設定を使わせていただきます。
http://github.com/typester/emacs-config/tree/master/.emacs.d/conf/


今回、いただいた設定は下記の通りです。

  • 00_init.el
  • 01_util.el
  • 50_anything.el
  • 50_autocomplete.el
  • 50_perl.el
  • 55_anything_project.el
  • 60_flymake.el
  • 99_bindings.el


上記の設定ファイルを「.emacs.d/conf」に置きます。
また、関連する拡張もインストールします。


これで一通りの設定が終わりです。まだ必要そうな拡張があれば随時ググってインストールしてください。


各拡張はそれぞれ勉強する必要がありそうですが、ひとまずperlを書いてみると、挙動が劇的に変わっていることに感動します。