初心者による初心者の為のEmacs入門 MacOSX編

Emacsを使って半年の自分が紹介する、初心者による初心者の為のEmacs指南。Twitterで@rolico191 や @necocen がエディタを使いたがっていたので、自分の復習を兼ねて書いてみることにします。
日本語の環境設定からチュートリアルまで、基本的ところから始めますので、Emacsの基本的な操作をわかっているのなら飛ばしてください。

筆者の環境
OS Mac OS 10.6.1 Snow Leopard
Emacs Carbon Emacs22 2009夏版

まずは起動と終了

標準的なMacOSX環境ならEmacsは標準でインストールされているはずなので、/Application/Terminal.Appを起動して

$ emacs 

と、入力してみましょう。emacs が起動します。後述しますが、ここで ホームにある ~/.emacs (或いは ~/.emacs.el)を呼び出しています。
さて、見慣れない画面が起動しましたか?慌てないでください、この状態では矢印キーで移動、英字キーで入力という一般的なスタイルです。が、Emacs はCtrlなどのメタキーと組み合わせることによって、強力なコマンドを呼び出すことができます。
まずは落ち着いて作業できるようにするため、終了方法を覚えましょう。Ctrlキーを押下したまま x c と叩いてみましょう。終了しましたか?(保存するかしないか聞かれるかもしれませんが、そこではnでキャンセルしてください)

以下、コントロールを押しながらキーを叩くことを C-(key) と表記します。この例では C-x C-c となります。ちなみに、Ctrl を押しながら hを二回叩くとヘルプが表示されます。これを読んでも構わないのですが、あとでもっと読みやすいチュートリアルを紹介します。

ファイルを編集する

ホーム直下にある .emacs.el はemacsの設定ファイルです。起動時にこれを読み込みます。
emacsはデフォルトのままだと非常に使いにくいので、Mac OSX用の設定をせっせと作っていくことにしましょう。

ファイルに引数を与えながら起動すると、そのファイルを開きながらemacsが起動します。

$emacs ~/.emacs.el 

.elというのはelispというemacsに使われている言語です。ここで以下のように入力します。
ちなみに、この時点ではクリップボードからのコピペができなかったような気がするので、その場合は直打ちでお願いします。

;;for Mac 
(setq mac-allow-anti-aliasing nil)
(setq mac-option-modifier 'meta)
(mac-key-mode 1)

;はコメントアウト
打ち終えたら C-x C-s とタイプしましょう。C-x C-s が保存のコマンドです。ステータスバーに Wrote: /Users/(username)/.emacs,el と表示されたはずです。ここで一度 Emacsを終了させましょう。コマンドは覚えていますね? そう、C-x C-c です。

もう一度emacsを起動しましょう。もういちど $ emacs ~/.emacs.el と入力し、さきほどのファイルを開きます。さきほどの設定でMacクリップボードが使えるようになっているはずなので、以下をコピーしてください。これで日本語を使えるようになると思います。

;;for Japanese
(set-language-environment 'Japanese)
(set-default-coding-systems 'utf-8-unix)
(set-terminal-coding-system 'utf-8-unix)
(set-keyboard-coding-system 'sjis-mac)
(set-clipboard-coding-system 'sjis-mac)
(setq-default buffer-file-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
(add-to-list 'default-frame-alist '(font . "fontset-default"))


このように.emacs.elを変更した場合、変更を反映させるにはemacsの再起動が必要となります。
ちなみに、Emacs起動後にでも C-x C-f でファイルを直接指定して開くことが出来ます。入力途中で取り消すならばC-gです。


ここまでのまとめ

起動 $ emacs (file_path)
終了 C-x C-c
開く C-x C-f
保存 C-x C-s
取消 C-g

Carbon Emacsのススメ

今まではTerminalの中で起動していましたが、Carbon Emacsというアプリケーションなら他のアプリケーションのように独立して動きます。

ダウンロードは Carbon Emacs パッケージ より

OS X のウィンドウ環境で動作する GNU Emacs のバイナリパッケージです。アプリケーション内に Emacs 本体・elisp ライブラリ・関連 UNIX コマンドが収められていて、アイコンをコピーするだけでインストールすることができます。

Emacs.app として、ターミナルの中だけでなく通常のアプリケーションのように動作します。さらに最初からよく使われるプラグインが収められており、環境構築の手間が(ちょっとだけ)省けるかもしれません。

Carbon Emacs 2009夏版に収められているのはEmacs22。最近だと最新版のEmacs23のCocoa Emacs なんてのもあるんですが、自分でビルドしたりする必要があるので今回は除外します。
以下、Carbon Emacsについて説明します。

チュートリアルをやろう!

Carbon Emacsには和訳されたチュートリアルが付属されています。MacOSの上部ツールバーから HELP - Emacs Tutorial で開きます。面倒臭いかもしれませんが、一時間程度で一通りのチュートリアルをやり終えることができるはず。これをやり終える頃にはEmacsについて一通りの理解が得られるかもしれにぃ。
ちなみに、上記の設定によって altキーが M キーになっています。Ctrlと同じくM-(key)はaltキーを押下しながら入力します。M-(key)は Esc を押してから(key)でも可能。


・・・やりおえましたでしょうか? え、そんなのやってられない?一度に全部覚える必要はありません。使っていくうちに覚えていきましょう。まあ、どうせ忘れてしまうので簡単なチートシートを用意しました


□起動 保存 終了

$ emacs (file_path) ターミナルからの起動
C-x C-c 終了
C-x C-s 保存
C-x C-f 開く


□コピペ関連

C-k 文末まで削除
C-y 直前にC-yやC-wで削除したものを張りつけ
C-@ エリア選択開始
C-w 選択範囲を切り取り
M-w 選択範囲をコピー

□複数画面操作

C-x 1 画面の分割を取り消す
C-x 2 画面を横に分割
C-x 3 画面を縦に分割
C-x o 次のバッファに移動
C-x C-b 今開いているバッファの一覧

□カーソル移動

カーソルの起動は慣れないうちは矢印キーでも構いませんが、以下のようなニュートラルポジションから動きを少なくする移動も可能です。日本語に関しては、単語単位の進む戻るの挙動は怪しいです。(元は欧米圏のソフトウェアなため)

C-f 一文字次に進む
C-b 一文字前に戻る
M-f 一単語次に進む
M-b 一単語前に戻る
C-n 次の行に移動
C-p 前の行に移動
C-a 行頭に移動
C-e 行末に移動
M-a 文頭に移動
M-e 文末に移動
C-v 一画面分下にスクロール
M-v 一画面分上にスクロール
                               前の行,C-p
                                    :
                                    :
     前の文字,C-b   ....   現在のカーソル位置   ....   次の文字,C-f
                                    :
                                    :
                               次の行,C-n


いろいろと除外しましたが、バッファを開いたり閉じたりしていると便利さがわかるのではないかと思います。

チュートリアルを終えて

思いつくままに書いてみましたが、どうでしょうか。次回はモードの切り替えや便利な拡張を紹介する予定。