Emacs 基礎キーバインディング最速マスター

Emacs の最低限の操作方法を習得することを目標とする記事です.
この記事は Twitterこのポストをきっかけに思い立った勢いで書いたものです. なので初心者向けを意識してとりあえず基本編だけですが, 発展編はまた思い付いたらたぶん書きます.

0. まず初めに

Emacs では Control キーと Meta キーと呼ばれる2つの特殊なキーと通常のキーを組み合わせて様々な処理を行います.
一般的に, Mac でも Windows でも Control → Control キー, Meta → alt キーです.
私はキーボードの都合上, Mac の command キーを Meta キーに設定しています. Emacs ではこのような細かい設定ができ, Emacs 使いは各自が独自の .emacs ファイルという設定ファイルを持っているようです.

このキーの組み合せをとある操作に対応させたものをキーバインディングと呼び, それはしばしば複数回のタイピングを必要とします. ここがテキストエディットやメモ帳などと大きく違うところで, 敬遠される原因なのでしょう.

キーバインディングを表すときは, C-x や M-x などとします. 意味はそのまんまで, Control キーを押しながら x を押す, や, Meta キーを押しながら x を押す, となります.

1. 入手

Mac

Cocoa Emacs, Aquamacs Emacs, デフォルトで入っている /usr/bin/emacs など色々あります.
Cocoa EmacsMacPortsemacs-app-devel をインストールするのが楽です.

Windows

Meadow が最も有名です. xyzzy というのもあります.
Cygwin 上の emacs をインストールしても良いです.

2. 基本の流れ

ファイル作成・ファイルを開く
C-x C-f

C-x の後に C-f とタイプします. 新規ファイルの作成も既存のファイルを開くのも同じキーバインディングです. 新規ファイルは次の保存作業を行ったときに生成されます.
システム系のコマンドはたいてい C-x で始まってますね. C-f はきっと File の f なんでしょう (違ってたら教えてください).

ファイルの保存
C-x C-s

おそらく Save の s.

Emacs の終了
C-x C-c

Close の c なのかな? (自信無し)

3. ちょっと高度に検索など

インクリメンタルサーチ
C-s

C-s に続けて文字を打つことで, それに合致する部分文字列を検索します. インクリメンタルとあるように, 1文字打つたびに再検索をしてくれます. たぶん Search の s でしょう.

インクリメンタルサーチ (逆順)
C-r

何の r なのかは知りません. 教えて偉い人!

4. カーソル移動

カーソルキーでも上下左右の移動はできますが, 折角 Emacs を使っているならキーバインディングで移動させましょう.

C-f (forward 1文字右へ)
M-f (forward 1単語右へ)
C-e (end 行末へ)
C-b (backward 1文字左へ)
M-b (backward 1単語左へ)
C-a (先頭へ)
C-p (previous 1行上へ)
M-v (1ページ上へ)
M-< (ページの先頭へ)
C-n (next 1行下へ)
C-v (1ページ下へ)
M-> (ページの末尾へ)

最後に

ここで紹介したキーバインディングはほんの一部ですし, .emacs ファイルを使った Emacs のカスタマイズについても一切触れていません.

Emacs の入門となると大量のキーバインディングを羅列しがちで, そのせいで初心者を圧倒してしまいます. しかしそれでは Emacs を使い始めようという気にはならないでしょう.

私は Emacs の真髄は「手首を移動させることなく全ての操作を行え, 熟練するとタイピングスピードが思考のスピードに追い付くようになる」という点にあると思っています. なので, まずは僅かでもいいから指にキーバインディングを馴染ませて欲しい, という願いを込めて, ここでは敢えて極基本的なキーバインディングのみを取り上げました.

それではまた(^-^)/