2000 年度「計算機基礎論3B」 テキストエディタ emacs/mule

emacs を多言語化したものが mule です。

mule 入門編

エディットしたいファイル名を引数にとり、 「mule filename」のように起動します。 ウィンドウシステムの中で使っているときは新しいウィンドウが開いて mule が起動します。 「mule filename &」とすればすぐにまたプロンプトが出ます。 また、「mule -nw filename」とすると 新しいウィンドウを開かずそのウィンドウの中で mule を実行します。 この「-nw」は「No Window」のことだと覚えるとよいでしょう。

mule の画面にひとつだけ、四角、下線などが出ているはずです。 それを「カーソル(cursor)」といいます。 基本的なキー操作は次の通りです。

※ mule -nw filename としたときは Back Space キーはヘルプを出すという意味になり、 削除はできない。 mule filename だとそうならないけれど、 前者が普通だと覚えておくこと。

Ctrl+\ で、アルファベット入力モードと日本語入力モードが交互に切り換わります。 いまどちらにいるのかは、画面左下を見ればわかります。

日本語入力モードでは、ローマ字で読みを入力するとひらがなで表示されます。 たとえば「tegami」と打つと「|てがみ|」のようになります。 両端の「|」はその間の文字が未確定であることを示します。 求める文字が出るまでスペースキーを打って変換し、 次の文字を入力すれば確定します。

「|ぎょうでん|」を変換しようとして「|業 でん|」になってしまったように、 間違って切り分けられた場合は CTRL+O を押して(みて)ください。 (この例は、そうやってみても残念ながら「行伝」に変換されませんでした。)

mule の終了は、 未確定文字のない状態で Ctrl+X Ctrl+C (Ctrl+X に続いて Ctrl+C) です。 「Save file ...?」と聞いてきますから、 セーブ(save, 「保存」の意)するなら「y」、しないなら「n」を押します。 保存すればエディットした内容はファイルに書き込まれ、 タイムスタンプはその時の日時になります。 保存しなければ元のままです。 「n」を押すと「Modified buffers exist; exit anyway? (yes or no) 」 と聞いてきますので (本当に保存しないで終了するなら) 「yes」と答えてください。 「y」ではダメです。:-)

新規に作ったファイルのパーミッションは rw-r--r-- (644) になります。 更新した場合は元と同じです。 更新した場合、 元のファイルは元のファイル名の最後に 「~」をつけた名前に改名されて残りますが、 このパーミッションも元と同じになります。

※ では、秘密のファイルを作成するにはどうすればよいか?

mule はエディット中に自動的にバックアップファイルを作ります。 ファイル file の自動バックアップファイルの名前は #file# となるのですが、 そのパーミッションは file のそれによらず 644 になるようです。 自動バックアップファイルは編集しているファイルそのものと同じディレクトリに作られるので、 人に見られたくないファイルを mule でエディットするときはパーミッション 700 のサブディレクトリで行なうほうがよいのかも知れません。

※ ほかに、umask 077 として、 以後ログアウトするまで自分の作るファイル・ ディレクトリが一切他人から見えないようにしてしまう方法もある。

mule には極めて多くのコマンドがあるので、 うっかり間違えてコマンドを打ち込んでしまい動きがおかしくなることがあります。 そういう場合は Ctrl+G を押してみてください。 処理を中断できる場合があります。 それでもダメなら、 emacs を終了しようとすればたいていなんとかなります。:-)

※ 一行が画面上の複数行に渡る場合は画面上の行末に 半角の「¥」または「\」が表示される。

※ mule は、 ファイルの終端を越えて「↓」 を押しているとそれだけで改行が入力されてしまうので注意すること。 余分な改行をいれてしまったかどうかのチェックは、 ファイルの終わりにカーソルを移動するコマンド Esc > (Esc に続いて >)を利用するとよいだろう。

mule ちょっと応用編

mule は、複数のファイルを複数のウィンドウで同時に編集できます。 mule ではファイル名をつけた文書以外も編集対象となるので、 編集中の文書を「バッファ(buffer)」と呼んでいます。 ファイルの編集をするときはファイルをバッファに読み込んで編集し最後にファイルに書き戻す。 ウィンドウにはどれかのバッファが表示される、という関係です。

次に、mule のコマンドのうち私がよく使うものをあげておきます。 emacs や mule のコマンドを説明するときの習慣に従って、 C-x で Ctrl+X を,M-x で Esc に続いて x を押すことを表わすことにします。 後者にはごくまれに M-X と M-x のような大文字小文字の区別がありますから注意してください。 また、SPC はスペースを表わします。

※ M-x という書き方は、 メタキーというキーがあるキーボードを想定しているかららしい。

※ 複数のキーからなるコマンドを中断するには C-g を用いる。

移動系 カーソルを移動 ←→↑↓キー
または C-b, C-f, C-p, C-n
(backward, forward, previous, next)
カーソルを行頭・行末へ移動 C-a, C-e
画面を大きく上下にスクロール C-v, M-v
ファイルの先頭・末尾へジャンプ M-<, M->
行番号を表示させる M-x what-line (←本当にこう打つ)
行番号を指定してジャンプ M-x goto-line (←本当にこう打つ)
挿入系 文字を挿入 その文字のキー
改行を挿入 Enter キーまたは Return キー
コントロール文字を挿入 C-q に続いてその文字を入力
削除系 カーソル手前の一文字を削除 Delete キー
カーソルのあたっている一文字を削除 C-d
カーソルのある行を削除 C-a C-k C-k
カーソルから行末まで削除 C-k
行頭からカーソルまで削除 不明
行操作系 二つの行を連結 前の行の行末の改行を削除せよ
複写移動系
複写(copy) 複写したいブロックの始点で C-SPC,
終点で M-w, 複写先で C-y
移動(move) 移動したいブロックの始点で C-SPC,
終点で C-w, 移動先で C-y
検索置換系 文字列の検索(search) C-s(前方),C-r(後方)
文字列を置換(replace) M-%
ファイル・
バッファ・
ウィンドウ操作系
カーソル位置に他のファイルを挿入 C-x i
テキストの一部をファイルへ書き出す 不明
ファイルを新バッファに読み込む C-x C-f
バッファをファイルに書き込む C-x C-s
編集中のバッファ一覧を出す C-x C-b
バッファをなくす C-x k
ウィンドウ内で編集するバッファを変更C-x b
ウィンドウを二つに分割 C-x 2
ウィンドウを一つにする C-x 1
もう一つのウィンドウへカーソルを移動C-x o
アンドゥー系 操作の取り消し C-_(「_」は Shift を押しながら。
第三実習室からはなぜか使えない)
ヘルプ系 ヘルプ開始コマンド C-h
英文チュートリアル C-h t
日本語チュートリアル C-h T

※ 複写移動系は異なるバッファ間でも可能。

※ C-x b と C-x C-b を混同しないように。 前者では Ctrl を押しながら x を打ち、Ctrl を離してから b を打つ。 後者では Ctrl を押しながら x, b を順に打つ。

※上のコマンドのまとめかたは、emacs や mule の達人からはお叱りを受けるかもしれない。 emacs や mule の設計思想を理解しないまま、 自分のやりたい操作に沿ってまとめているからである。


岩瀬順一 <iwase@kappa.s.kanazawa-u.ac.jp>