

ここで紹介する mule は、現在 Unix 上でもっともよく使われているテキス トエディタの 1つです。様々な機能を持っていますが以下では、 テキストを編集する方法のみ説明します。
mule
または
mule ファイル名
とすると mule を起動できます。また、終了するには
C-x C-c
とします。この時、ファイルに編集した中身をセーブしていないとセーブするかど
うか聞いてきます。
その他のファイル操作を表1に示します。
| 行いたい動作 | そのための操作 | 
| ファイルのロード | C-x C-f または Files メニューから Open File...を選択 | 
| ファイルのセーブ | C-x C-s または Files メニューから Save Buffer を選択 | 
| ファイルの別名セーブ | C-x C-w または Files メニューから Save Buffer As...を選択 | 
| ファイルの挿入 | C-x i または Files メニューから Insert File...を選択 | 
表1:ファイル操作
ロードや挿入の時のファイル名は、mule ウィンドウの最下行で聞いてきます。
また、ファイルの別名セーブを行なうと、それ以降の編集は新しい名前のファイルに 対して行なうことになります。
文字の挿入や削除はカーソルのある位置で行われます。カーソル移動のための操作 を表2に示します。
| 行いたい動作 | そのための操作 | 
| 1文字右に移動する | C-f または → | 
| 1文字左に移動する | C-b または ← | 
| 1行上に移動する | C-p または ↑ | 
| 1行下に移動する | C-n または ↓ | 
| 行の先頭に移動する | C-a | 
| 行の最後に移動する | C-e | 
| ファイルの先頭に移動する | M-< | 
| ファイルの最後に移動する | M-> | 
| 次のページに移動する | C-v | 
| 前のページに移動する | M-v | 
| 指定した行に移動する | M-x goto-line | 
| リージョンの最初と最後のトグル? | C-x C-x | 
表2:カーソル移動
指定行への移動の入力方法を少し詳しく説明すると、M-x を入力した後に goto-line とキーボードから入力します。その後、リターンキーを押すと、移動したい行を聞いてくるので数字を入力します。
また、C-r でカーソルより前方向への検索が同様に行なえます。
文字を削除するための操作を表3に示します。
| 行いたい動作 | そのための操作 | 
| カーソルの直前の 1文字を削除する | C-h 、DEL | 
| カーソルが乗っている文字を削除する | C-d | 
| その行のカーソル以降のすべての文字を削除してカットバッファに登録する | C-k | 
| その単語のカーソル以降を削除してカットバッファに登録する | M-d | 
| その単語のカーソルより前を削除してカットバッファに登録する | M-DEL | 
表3:文字の削除
置換のためのコマンドは M-x replace-string です。その後で置換される文字列、置換された後の文字列を聞いてくるので入力してください。
また、M-%でも置換操作を行なうことが出来ます。このコマンドの場合は、置換される文字列それぞれについて確認作業が必要になります。置換を実行する場合は y を、しない場合は n を入力して下さい。この確認作業は置換される文字列の数だけ繰り返し行なわれます。
なお、これらの置換の対象となる文字列はコマンド入力時のカーソル位置よりも後にあるもののみです。
カットアンドペーストを行うためには、まずカットの範囲を指定します。mule では範囲を扱うためにリージョンという概念を導入しています。このリージョンはマークした場所とカーソルの間であると定義されているため、C-SPC でカーソル位置にマークを設定します.
| カーソル位置にマークを設定する | C-SPC、C-@ | 
次に指定したリージョンをカットバッファに登録します。
| リージョンを削除してカットバッファに登録する | C-w | 
| リージョンを削除せずにカットバッファに登録する | M-w | 
カットバッファーは複数用意されており、リング状に結合されています。これが非 常に便利です。
| カットバッファの内容をカーソル位置に挿入する | C-y | 
| ひとつ前のカットバッファの内容をカーソル位置に挿入する | M-y | 
ちなみにM-y は一度押すたびにカットバッファの内容をひとつ遡ります。
別のファイルからの引用を行うには、mule の画面を 2分割し、一方の画面に引用し たい部分があるファイルをロードしてカットアンドペーストで取り込むのが簡単で す。以下に画面分割の操作を示します。
| 画面を上下に 2分割する | C-x 2 | 
| 分割された画面を 1つに戻す | C-x 1 | 
| 他の画面にカーソルを移す | C-x o | 
画面をひとつに戻す時は、C-x 1 を入力した時にカーソルが存在したほうのファイルが残ります。
編集中に知らないコマンドを実行したりして “わけのわかわない状態” に陥ると きがありますが、そのような時はコマンドをその場でキャンセルすることができま す。また、C-k などを実行して、削除したくないものまで削除してしまう ことがあります。そのような時にはアンドゥすれば削除する前の状態に戻せます. それぞれのキー操作を以下に示します.
| コマンドをキャンセルする | C-g | 
| 直前の編集を取り消す | C-/ または C-x u | 
mule で複数のファイルを編集する場合、画面に表示されてなくてもロードした全てのファイルがバッファに一時記憶されています。そのため一旦ロードしたファイルは、あとから再びロードしなおさなくてもバッファの切替を行なうだけで表示させることが出来ます。
| バッファを切替える | C-x b | 
| バッファの一覧を表示する | C-x C-b | 
| 全てのバッファを保存する。 | C-x s | 
mule の基本的操作方法から細かい操作方法まで、実際に画面を見ながら覚えることが出来るのがチュートリアルです。このチュートリアルでは、このページに書いた以上の操作も説明されていたりします。細かく知りたい人は見てみてください。
ちなみにこのチュートリアルはテキストファイルです。
| チュートリアルの呼びだし | M-x help-with-tutorial-for-mule を実行して、その後 Language で Japanese と入力する | 
ここでは、日本語環境として Wnn + EGG をサポートしている場合について、 その使い方を簡単に説明します.
仮名漢字変換システム Wnn は、京都大学数理解析研究所、オムロン株式会社、株式 会社アステックの 3者によって開発されたネットワーク仮名漢字変換システムで, EGGは通産省電子技術総合研究所のグループによって開発された Wnn の mule 用フロントエンドです。
日本語を使うためには、.emacs と .eggrc という 2つのファイルで設定 をしなければなりません。これら 2つのファイルを変更していなければ、そのまま で日本語が使えるはずです。
変換の方法を例を示しながら見ていきましょう。
漢字入力モードで使うことのできるコマンドの一覧を表4に示します.
| 動作 | そのための操作 | 
| かな漢字変換を始める | SPC、C-w | 
| 漢字後候補 | SPC、C-n | 
| 漢字前候補 | C-p | 
| 漢字入力モードから英数字半角モードへ | q | 
| 漢字入力モードから英数字全角モードへ | Q | 
| 記号・JISコード・総画数その他諸々入力モードへ | C-^ | 
| フェンス内の先頭の文字(または文節)に移動する | C-a | 
| フェンス内の最後の文字(または文節)に移動する | C-e | 
| フェンス内で 1つ前の文字(または文節)に移動する | C-b | 
| フェンス内で 1つ後ろの文字(または文節)に移動する | C-f | 
| 入力を中止し、フェンスモードから抜ける | C-c、C-g | 
| カーソルの乗っている文字を削除する | C-d | 
| 文節を 1文字分縮める | C-i | 
| 文節を 1文字分伸ばす | C-o | 
| フェンス内でカーソルから後ろを削除する | C-k | 
| フェンス内の入力を確定してフェンスモードから抜ける | C-l、RET | 
| フェンス内でカーソルの前後の文字を入れ替える | C-t | 
| JIS コードで入力する | C-_ | 
| フェンス内の文字をひらがなにする | M-h | 
| フェンス内の文字をカタカナにする | M-k | 
| フェンス内の文字を全角文字にする | M-> | 
| フェンス内の文字を半角文字にする | M-< | 
| 候補の一覧を表示する | M-s | 
表4:日本語変換関係のコマンド一覧