Hatena::ブログ(Diary)

日々、とんは語る。

この日記のはてなブックマーク数 はてなスターカウンター Peace この日記をあなたのはてなアンテナに追加する。 rss
お問い合わせ先 mailto

2009-01-24 ごっつしばれる日。

Emacs(中略)設定講座 その2「elisp のインストールと設定編」。

| 03:43 |

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

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

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

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

前回は .emacs を作って、install-elisp.el をインストールするところまで紹介しましたが、今回は、更に Elispインストールして、色々な設定をするための基礎知識を紹介していきたいと思います

候補を表示しながら補完する auto-complete.elinstall-elisp を使ってインストールする。

まず、簡単に導入できて、設定も楽な auto-complete.elインストールしてみましょう。

M-x install-elisp-from-emacswiki<RET>auto-complete.el<RET>C-c C-c

M-x は、Meta キー(通常は Alt キー)を押しながら x。すると、下のミニバッファーと呼ばれる所に、M-x と表示されるので、install-elisp-from-emacswiki とタイプします。<RET> はリターンです。C-c は、Ctr キーを押しながら c。C-c C-c なので、Ctr キーを押しながら c で、そのまま Ctr キーを離さず c です。

といっても、実際に全てタイプしなくても、inst あたりで TAB キーを押すと、install-elisp あたりまで補完してくれますシェルを使った事がある人にはおなじみですね。TAB を連打すると、補完候補一覧が表示されます

画像を使って解説すると、まず M-x を押した状態で、install-elisp-from-emacswiki入力したところです。

f:id:tomoya:20090124051147j:image

エンタを押すと、"PageName:" と表示されて、EmacsWikiからインストールしたいページの名前を聞かれるので、

f:id:tomoya:20090124051222j:image

「auto-complete.el」とタイプして、エンタを押しましょう。

f:id:tomoya:20090124051726j:image

elisp ファイルダウンロードが完了すると、バッファに読み込まれますので、C-c C-c と入力します。

すると、ファイルバイトコンパイル(Emacsの起動を高速にするためのおまじないです)されて、Emacs機能として auto-complete.el が利用できる様になります

何やら少しエラーが表示されたかもしれませんが、これは、byte-compile 時の警告です。まぁ、HTML Varidater の警告みたいなものなので、使う人には関係ありませんのでひとまず無視しましょう。

M-x auto-complete-mode<RET>

とタイプすると、ステータスラインに AC と表示され、auto-complete-mode がオンになります

f:id:tomoya:20090125194057j:image

auto-complete-mode が起動すると、文字をタイプするだけで、補完できるリストを表示してくれて、文字のタイプが大幅に省略できる様になります

f:id:tomoya:20090125194655j:image

これは、Emacs Lispシンボルの補完リストです。

先ほど、コマンドで auto-complete-mode をオンにしましたが、Emacs を起動するたびにコマンドを実行するのは少々面倒です。というか、実は再起動すると、auto-complete.el は読み込まれないため、何もしないとコマンドすら使えません。

Emacs の最大の利点は、自分好みの環境を作る事が出来るところだと思うので、auto-complete-mode に関する自分好みの設定をしていってみましょう。

auto-complete-mode の設定を .emacs ファイルに書く。

auto-complete-mode に関する設定は、どういった事ができるのか、という事を学ぶ方法は2つあります

1つは、誰かが書いた auto-complete-mode に関する記事を見つけて学ぶ方法です。これは、非常に分かりやすくて有効ですが、その方法をここで推奨すると、ぜんぜん設定講座にならないので、自分で設定を調べる方法を紹介します。

自分で設定を調べるという2つ目の方法は、ズバリ auto-complete.el を読めです。

xcezx さんも言っていますが、emacs は self documented なアプリケーションですので*、基本的な設定に関する情報は全て elisp 内に書く文化となっています。なんで、auto-complete.el にも様々な設定についての解説がコメントに書かれております

という訳で、auto-complete.el を開いて見てみましょう。

C-x C-f ~/.emacs.d/elisp/auto-complete.el<RET>

開くのが面倒な人は、ウェブ上にあるファイルブラウザで見ましょう。EmacsWiki: auto-complete.el

ライセンスと簡単な説明の後に、最初の設定が書かれています

;; To use this extension, locate this file to load-path directory,
;; and add the following code to your .emacs.
;; ------------------------------
;; (require 'auto-complete)
;; (global-auto-complete-mode t)
;; ------------------------------

.emacs に --- で挟まれた2行をあなた.emacs に追加して下さいとあります

Emacs は起動時に、.emacs 等の設定ファイルを読み込んで、あなたの書いた設定に従った、あなたのための Emacs を作ってくれます

1行目の (require 'auto-complete) は、auto-complete.el を読み込んで下さいという指定です。perl で言うところの use みたいな感じ。これで、auto-complete.el に書かれた全ての機能が利用できる様になります

2行目の (global-auto-complete-mode t) は、色々なメジャーモードで auto-complete-mode が自動的に使える様にするための設定です。global-auto-complete-mode について詳しく知りたい場合は、describe-function を使って調べるができます。describe 系のコマンドについては、xcezx さんの記事をどうぞ。

global-auto-complete-mode is an interactive compiled Lisp function in `auto-complete.el'.
(global-auto-complete-mode &optional arg)

Toggle Auto-Complete mode in every possible buffer.
With prefix arg, turn Global-Auto-Complete mode on if and only if arg is positive.
Auto-Complete mode is enabled in all buffers where `auto-complete-mode-maybe' would do it.
See `auto-complete-mode' for more information on Auto-Complete mode.

global-auto-complete-mode は対話型の関数です。Auto-Complete mode がご利用可能なバッファ全部をトグれます。みたな感じ。トグルっていうのは、オン・オフで切り替えるっていう意味です。

この関数に真(真偽値って奴です)の引数を与えると、オンになります。というわけで、(global-auto-complete-mode t) は global-auto-complete-mode という関数に、t = true という引数を与えて、オンにしている訳です。

t を 1 *1に変えても、もちろんオッケーですが、lisp の慣例として、単に真という引数を与えたい場合は、t に統一している様です。

ここら辺の Lisp に関する詳しい話は、今後の記事でもうちょっと詳しく紹介しますので、とりあえず、この設定は global-auto-complete-mode をオンにしているんだとさえ理解してもらえればオッケーです。

というわけで、上の2行を .emacs に追記して保存して Emacs再起動すると、auto-complete-mode が、ひとまず利用できる様になっているという訳です。

長くなってきたので、今回はここで纏め。

という3点を紹介しました。

auto-complete-mode の設定については、他にも色々な設定がコメントに書かれていますので、続きも読んでみて .emacs に書いてみると良いと思われます

今回は基礎の操作も説明したので、記事が長くなってしまったので、今後は基礎操作については省略していきたいと思いますEmacs と仲良くしたい素敵なみなさん、お付き合いお願いします。

*1:ていうか、0 以外の数字。文字は t 以外はシンボルとして扱われてしまうので駄目です。' を頭に付ければ文字でもオッケーです(謎)。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

<< 2009/01 >>
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31