Emacsの基本的な使い方

Emacsを使う上での基本的な心構えとして、以下のようなものが挙げられます。 初心者はこれらを意識しておくとよいでしょう。

MacではターミナルからEmacsを起動するのに、「open -a Emacs」 というコマンドを使います。 後ろにファイル名を書くこともできます。 「emacs -nw」とすると、ターミナル内でEmacsが起動します。

Emacsでは、[Control][Command] を押しながら別のキーを押すという操作を頻繁に行います。 ここでは、「[Control]を押しながらx」 という入力を「\C-x」、 「[Command]を押しながらx」という入力を「\M-x」 と書くことにします。 読み易さのために、キー入力の列は『』で囲うことにします。 『』内の空白は実際の入力時には無視してください。

Emacsのキーバインディングは、MacやWindowsの他の多くのアプリケーションと異なっています。 例えば、いわゆるペーストは、『\M-v』ではなく、 『\C-y』になります。 ここでは、デフォルトのものを紹介しますが、 Emacsのキーバインディングは自由に変更することも可能です。

Emacsでは、ファイルを開いて取り込んだものをバッファと呼びます。 また、Emacsの枠の一番下にある1行分の区分をミニバッファと呼びます。

Emacsにはチュートリアルが付属しています。 初心者は、まずチュートリアルを読んでください。 チュートリアルを起動するには、『\C-h t』と入力するか、 メニューの「Help/Emacs Tutorial」を選びます。 チュートリアルは何度読んでも構いません。

ファイルの編集に必要な操作を抜粋して表にしておきます。

何をしているか分からなくなったときは、とりあえず、『\C-g』してみましょう。

カーソルの移動に関する操作
\C-f カーソルを1文字分進める。
\C-b カーソルを1文字分後退させる。
\C-n カーソルを1行下に移動させる。
\C-p カーソルを1行上に移動させる。
\C-a カーソルを行頭に移動させる。
\C-e カーソルを行末に移動させる。
\C-v 表示を1ページ分先に送り、カーソルも移動させる。
\C-l カーソルのある行が中央になるようにページを送る。
\M-v 表示を1ページ分前に送り、カーソルも移動させる。
\M-< カーソルをバッファの先頭に移動させる。
\M-> カーソルをバッファの最後に移動させる。
\C-s 文字列 バッファ内を検索する。
(検索状態で)『\C-s 更に先を検索する。
(検索状態で)『[Return] 検索を終了する。
編集に関する操作
\C-d カーソル位置の文字を消去する。
\C-[Space] カーソル位置をマークする。 (MacのデフォルトではSpotlightに取られてしまいます。)
\C-@ カーソル位置をマークする。 (場合によっては、日本語入力モードになるだけでマークされません。)
\C-w マークからカーソルまでの文字列を消去して、クリップボードに格納する。 (カットに相当。)
\M-w マークからカーソルまでの文字列をクリップボードに格納する。 (コピーに相当。)
\C-y クリップボードにある文字列をカーソル位置に挿入する。 (ペーストに相当。)
\C-k カーソル位置から行末までを消去して、クリップボードに格納する。
[Tab] プログラムコードのバッファでは、カーソルのある行をインデントする。
ミニバッファでは、入力を補完する。
\C-x u 直前の編集行為を取り消す。
\C-/ 直前の編集行為を取り消す。
Cのコードを編集するときのみ有効な操作
\C-c \C-c マークからカーソルまでをコメントアウトする。
\C-u \C-c \C-c マークからカーソルまでのコメントアウトを解除する。
その他の操作
\C-x \C-f 新たなバッファにファイルを開く。ミニバッファでファイル名を聞かれる。
\C-x \C-s バッファをファイルに保存する。
\C-x s 一時的でない全てのバッファをファイルに保存する。
\C-x b バッファを移動する。ミニバッファでバッファ名を聞かれる。
\C-x \C-b 全てのバッファのリストを表示する。
\C-x 1 分割されたウィンドウを1つにする。
\C-x 2 ウィンドウを分割する。
\C-x o 分割されている別のウィンドウにカーソルを移す。
\C-g ミニバッファなどから抜け出す。マークでついた背景色を消す。
\C-x \C-c Emacsを終了する。

システム環境設定の「キーボードとマウス/キーボードショートカット」を変更すれば、 『\C-[Space]』をSpotlightに取られないようにすることができます。

プログラムコードを書いていると、こんな機能があるといいのにと思うことがよくありますが、 ほとんどの場合、その機能は既にEmacsに備わっています。 困ったら、一度ウェブで調べてみるとよいでしょう。

また、他の多くのアプリケーションと違って、Emacsは、 使用者の使い易いようにいくらでもカスタマイズすることができます。 カスタマイズの方法は慣れないと複雑ですが、興味を持った人は、 Emacsの便利な使い方 を読んで試してみてください。