Emacs ビギナーに贈る、これからバリバリ使い隊!!人のための設定講座 その1。

追記 この記事を元に書籍が出来ました!

時間と命を削って、より詳細に解説しましたので、Emacs に興味がある人はぜひ一度手に取ってみて下さい。

Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)

Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)

というわけで、前に言っていた普及記事です。

前置き(読み飛ばしOK)

僕が Emacs 系エディターを使い初めた当初、特殊なキーバインドにもそれなりに慣れてきたけど、設定が難しくて、誰かの設定をコピペしたけど、何か動かないとか、もうちょっと便利な設定があると思うけど、よく分かんないという日々が最近まで続いていました。
これではいかんと一念発起して、Lispの基礎を理解して、最近、ようやく自分でLispを書ける様になってきました。
Lispが書ける様になってくると、Emacs を使うのがとても楽しくて、もっと Emacs を使える人が増えてたらいいなと思うようになってきたので、そういった、Emacs 使ってみたいけど、Lisp はよく分からないという人に向けた、Emacs 導入記事を書こうと思いました。
というわけで、今後、継続的にがんばって書いていきたいと思いますので、id:otsune さんに注目して頂いて、多くの人々の目に触れて、Emacser を増やしつつ、僕は凄い人にもっと良い方法を教えてもらって、双方ウハウハになればいいなと思います。
なお、Emacs のインストールや、基本操作などについては省略しますので、そちらについては、id:wadap さんが書かれている

が、大変素晴しいので、ぜひ参考にして下さい。
追記
けんたろさんと、せずさんが、

という記事を書いてくれましたので、そちらを先に読んでおくと、より理解が深まりますです。
Emacer の人はもっと記事書こう!!

.emacs (dotemacs)ファイルについて。

Emacs の設定は、「.emacs」ファイル、もしくは、「.emacs.el」に書く事で出来ます。
どっちに書けばいいねん、という意見があるかと思いますが、個人的には、「.emacs」の方が良いと思います。それは何故かというと、「.emacs.d」というディレクトリが存在した場合、.emacs.el を開こうとした場合、.ema で TAB を押すと、.emacs で補完が一度止まってしまうからです。

最低限必要な設定

Emacs をバリバリ使う上で、最低限必要な設定はひとつだけです。それは、load-path を通す事です。
ロードパスとは、様々な Lisp プログラムを読み込む場所の事で、パス*1を通す(Emacs にどこから設定を読み込むかを伝える)事で、自分でインストールした Emacs に便利な機能を追加してくれる Lisp ファイル(正しくは、Elisp ファイル:emacs lisp ファイル)を読み込める様になります。
なお、ここでいうインストールというのは、インストーラーなどを実行する事ではなく、ダウンロードしたファイルを自分で好きな場所へ置く事を言います。

load-path を追加する設定。

まず、どこへ Elisp をインストールするかを決めます。
僕の場合は、ホームフォルダの中に、「.emacs.d」フォルダがあり、その中に「elisp」というフォルダを作成して、基本的にはそこへインスールする様にしています。
通常、Emacs を初めて起動すると、勝手に .emacs.d というフォルダが作成されたと思うのですが、そこら辺の記憶がちょっと曖昧です。*nix OS (もちろん、Mac も含む)は、.(ドット)で名前が初まるファイルやフォルダを非表示にしてくれますので、辺に弄ったり、誤って削除したりせずに済みます。
ファイラーにも表示されないのであれば、インストールが面倒そうと思われるかもしれませんが、それは、後述する install-elisp を使う事で、気にならなくなります。
.emacs.d というフォルダが作成されている場合、ターミナルで、

# mkdir ~/.emacs.d/elisp

とすると、ディレクトリが作成されますので、後は、Emacs を起動して、C-x C-f ~/.emacs と入力し、.emacs ファイルを開いて、

(setq load-path (cons "~/.emacs.d/elisp" load-path))

と書いて、C-x C-s で保存すると、次回から elisp フォルダの中にある Elisp ファイル(hoge.el や hoge.elc などの .el 又は .elc で終わる名前のファイル)を読み込める様になります。
ですが、これだけだと、elisp フォルダに幾ら Elisp ファイルをインストールしても、便利な機能は使えないので、機能を使うためのそれぞれの Elisp にあった設定を .emacs に書く必要があります。

便利な Elisp をインストールしてみる。

Elisp をインストールするのは簡単で、Elisp ファイルをダウンロードして、先程、load-path を設定したフォルダにファイルを置くだけです。
ですが、ファイルをブラウザなどでいちいちダウンロードして、というのは面倒な感じです。そこで、最初の例として、id:rubikitch さんが作成した、install-elisp.el をインスールして使える様にしましょう。
install-elisp は、キーワードの説明にある通り、Elisp をダウンロードして、設定した場所へのインストールを自動的に行なってくれる機能が使える様になります(ただし、*nix OS だけかも。)。
手順をまず説明すると、

  1. まず、install-elisp.el をダウンロードします。
  2. ダウンロードしたファイルを elisp フォルダに置きます。
  3. .emacs に設定を書いて保存します。
  4. Emacs を再起動*2すると、1, 2 の作業をコマンドひとつで実行できる様になります。

.emacs.d が表示されないので、ファイルの置き方が分からないという人は、ターミナルを使って、

# cd ~/.emacs.d/elisp
# wget http://www.emacswiki.org/cgi-bin/wiki/download/install-elisp.el

wget がなければ、

# curl -O http://www.emacswiki.org/cgi-bin/wiki/download/install-elisp.el

とする事で、ダウンロードとインストールを済ます事が出来ます。
.emacs に書く設定は、

;; まず、install-elisp のコマンドを使える様にします。
(require 'install-elisp)
;; 次に、Elisp ファイルをインストールする場所を指定します。
(setq install-elisp-repository-directory "~/.emacs.d/elisp/")

の、コメントを除いたら2行だけです。
次からは、インストールしたい Elisp ファイルがあれば、M-x install-elisp というコマンドを実行して、流れのままに、Elisp ファイルの URL を入力して、流れのままに C-c C-c とタイプして、インストールを完了して下さい。
その後は、.emacs に設定を書くだけです。なので、今後は、ほぼ設定を書くという作業だけに集中できる様になりました :-)

参考: install-elisp で使えるコマンド
M-x install-elisp
URL を入力して、Elisp をインストールするコマンド
M-x install-elisp-from-emacswiki
EmacsWikiで公開されている Elisp の名前を入力するだけでインストールできるコマンド
M-x dired-install-elisp-from-emacswiki
dired(Emacs 組み込みのファイラー)で選択しているファイルをEmacsWikiからインストールするコマンド

長くなってきたので、1回目の纏め。

  • .emacs ファイルを作成する。
  • Elisp ファイルをインストールする場所を決める。
  • .emacs ファイルに設定を書く。

という3点を紹介しました。Emacs の楽しい点として、便利な Elisp を見つけて、使ってみて、スゲーって感動するという所が一番大きいんじゃないかなと僕は思っています。Fx の便利な拡張を見つけて、スゲーっていうのと同じ感じですね。
ですので、次からは、そのスゲーの部分をどんどん体感して頂きたいと思っています。

*1:パス(path)とは、OS の中で、ディレクトリまでの道筋の事です。例えば、Macホームフォルダまでのパスは、"/User/tomoya" になります。特殊な書き方として、"~/" でホームフォルダになります。

*2:M-x load-file で、~/.emacs を読み込む事で再起動しない方法もあります。