mule 入門

(現在製作中)

目次

  1. このページの方針とお約束
  2. 立ち上げ方と止め方、困ったときにどうする?
  3. カーソル移動
  4. サーチと置換
  5. カットアンドペースト

このページの方針とお約束

最近の emacs は、X 対応になっていて、マウスと カーソルキーでたいていの操作がすむようになっている。だから、emacs の キー操作などほとんど知らなくても、あまり困らない。しかし、telnet でリモート ホストにログインして emacs を使う場合には、基本的なキー操作を知らないと 困ってしまう。また、キーボードに慣れてしまうと、 操作のたびにキーボードのホームポジションから手を離してしまうのも煩わしく 思えてくる。ここは、正しい emacs 使い(?) を目指して、基本的なことは全てキー操作で行えるようにしたい。

なお、ここでいうキー操作とは、コントロールキー(以下 ctrl と書く)を 押しながら x キーを押す、とか、Esc キーを 一度押してから w キーを押すとかといった ものだ。以下の書き方はしばしば使われるので、ここで覚えておいて欲しい。
 
c-g ctrl キーを押しながら g キーを押す。
c-x s ctrl キーを押しながら x キーを押し、その後(ctrl キーを離して) s キーを押す。
c-x c-s ctrl キーを押しながら x キーを押し、その後 ctrl キーを押しながら s キーを押す。(といっても、普通は ctrl キーを押したまま xs と タイプする.。) 
M-w Esc キー(Meta キーとも言う)を一度押してから、w キー を押す。

また、 Esc キーを一度押してから、x キーを押すと mule 画面の一番下に M-x と表示される。そこに コマンド名をタイプして Enter キーを押すことを、

 M-x コマンド名
と表すことにする。

目次に戻る 

立ち上げ方と止め方、困ったときどうする?

最初は、話の順番として、mule の立ち上げ方について述べるのが妥当だろう。 立ち上げ方は普通は、 シェルのプロンプト % (または、$, あるいは #)に対して、
% mule ファイル名
である。もしも、X で X 対応の mule を使っていて、mule 起動後もそのターミナル (例えば kterm) を使いたいなら、 最後に & をつけて Enter キーを押す。

さて、最初の次は、いきなり mule の終了の仕方だ。これは、

c-x c-c
とする。ファイルに変更があればセーブしてから終了するか聞いてくる。

次に、困ったときどうするかだが、ありがちな困った状態とその対策を挙げて おこう。
 
 
症状 コマンド コマンドの意味
表示がおかしい。カーソルの位置がおかしい。 c-l 再表示
入力しようとしても、Yes か No か答えろ等という。 c-g 命令の取消

目次に戻る 


カーソル移動

カーソル移動は基本中の基本、すなわち 「あしたのためのそのいち」である。

「そのいち」の中の「そのいち」は、「上下左右にひとつずつカーソルを 移動する」だ。これは、以下の通りである:
 
c-p カーソルをひとつ上(前の行、 Previousline)に移動する。
c-n カーソルをひとつ下(次の行、 Next line)に移動する。
c-f カーソルをひとつ右(前方、 Forward)に移動する。
c-b カーソルをひとつ左(後方、 Backward)に移動する。
mule に限らず、UNIX 関係のソフトは命令に英単語の(主に)頭文字を採用する ことが多い。英語の勉強にもなって、まさに一石二鳥 ではないか(笑)。

さて、カーソル移動も、ひとつずつなんてケチくさい ことを言わずに、行の最初や最後に一気に移動してみたいなんていう、 気の短い(?)人もいるだろう。これは、
 
c-a カーソルをその行の先頭に移動。
c-e カーソルをその行の最後(End)に移動。
さて、最後にカーソル大移動の大技(???)に 挑戦しよう(笑)。
 
M-< ファイルの先頭にカーソルを移動する。
M-> ファイルの最後にカーソルを移動する。

これは、不等号を矢印だと思えば感じがわかるだろう。

目次に戻る 

サーチと置換

文書中の文字列を探す命令には、前向き(forward, 文書の終りに向かう向き)に探すものと、 後向き(backward, 文書の最初に向かう向き)に探すものがある。どっちが前だか わけがわからんという人は、両方試してみて、 カーソルがどっちに動いたら確かめてみるといいだけなので、ここで こむずかしいことを書くのはやめよう。
c-s 前向きにサーチ(Search)する。
c-r 後向きにサーチする。(アルファベットの s の前がr 、それとも Rear ?)
なお、これらのサーチは、インクリメンタルサーチ といって、検索する文字列の文字を入力するたびにマッチする文字列の文字にカーソルを 移動する。 たとえば、文書の中で、カーソルのある位置より下のほう にある「include」という 単語を探す場合、c-s として mule 画面の一番下に表示される「I-search:」という ところに「include」と入力するのだが、i をタイプした途端に最初の i の文字の所に カーソルが移動し、続いて n をタイプすると、最初にマッチする「in」の文字列の 所にカーソルが移動し...以下省略。結局、多くの場合、検索する文字列を最後まで タイプしないでも済む、というたいへんスグレもの の検索である。

ひとつの「include」が見つかって、次の「include」を探すには、もう一度 c-s あるいは c-r を押すとよい。

探している単語が見つかったら、カーソル移動のキー(例えば c-b)を押せば検索は 終了する。(ここで、マークセット(後述)の c-スペースキーでもよい。)

さて、文字列の置換だが、これは以下の通りである:
M-% カーソルより下にある語を対話形式で置換する
M-x replace-string カーソルより下にある語を一気に置換する
M-% とすると、mule 画面の一番下に Query replace: というプロンプト が出る。ここで、置換対象の文字列を入力して、Enter キーを押す。すると、 どのような文字列に置き換えるかを聞いてくるので、それに答えると、置換命令 実行時のカーソル位置より下にある、置換対象文字列にカーソルが移動する。 ここで、カーソル位置の文字列を本当に置換したい場合は y を押すと、その文字列 を置換してカーソルは次の置換対象文字列に移動する。y の代わりに n を押すと その文字列は置換しないでカーソルが次の置換対象文字列に移動する。ここで、また、 置換するか否かで y か n をタイプすると、カーソルはその次の置換対象文字列に移動 する。この作業は、最初のカーソル位置よりも下にある全ての置換対象文字列に対して 順に行われる。置換作業を終了するときには、c-g を押す。

目次に戻る 

カットアンドペースト

最も簡単なカットアンドペーストは, 行に関するものである. つまり, 1 行全体あるいはその一部を削除し, 削除した部分を, テキストの他の部分に 張り付けるという作業である.

行の削除(kill)は c-k でできる. これにより, その行のカーソルを含めて右の 部分は削除される. emacs はこの削除された部分を覚えているので, c-y で カーソルのある位置に張り付ける(yank, 引っ張る)ことができる. 一般のカットアンドペーストの説明に入る前に, リージョンについて説明しなくてはならない. リージョンとは, マークセットした位置と現在カーソルのある位置の間の部分のことである. マークセットは, c-スペース により行なわれ, マークセットした時点のカーソルの位置 が記憶される(なお, M-> などでもマークセットが行なわれる). マークセットすると, emacs の下の部分に「Mark set」と表示される. リージョンをコピーするには, M-w を用いる. このばあい, リージョンは削除されずに 記憶される. この記憶した部分を張り付けるのは, やはり c-y である. また, リージョンを 削除して記憶するには, c-w とする. (つづく)

目次に戻る 


戻る