|compphys|

Mule の使い方 (中級編)

editor の 3大機能と言える(?)、カット&ペースト、置換、検索に ついて説明します。 ちょっと長いけれど、頑張ってください。


検索


置換


カット&ペースト

    最後に、いわゆるカット&ペースト(指定した領域の削除、コピー、移動) について説明します。

    2種類の削除コマンド

      Mule には、2種類の削除コマンドがあります。 delete と kill です。 (例えば、C-d は delete-char , C-k は kill-line でした。) この 2つは何が違うかと言うと、delete が単に削除するのに対して、 kill は、削除したテキストを kill ring と言うところに 記憶しておく点が違います。 そして、kill ring に記憶されたテキストは、 C-y (yank) というコマンドで 取り出すことが出来ます。menu-bar なら Edit の中の Paste です。 Mule ではこれを利用して、カット&ペーストが出来ます。

    領域指定

      マウスなら(説明は)簡単です。普通に、マウスで ベーッとなぞると、なぞった部分が 灰色っぽくなります。灰色っぽくなった部分が、指定された領域になります。 さらに、指定された領域のテキストは、kill ring にコピーされます。

      もちろん、キーボードでも領域指定が出来ます。 (説明はややこしいかもしれませんが、操作自体は簡単です。) C-Space or C-@ とすると、 mini-buffer に Mark set などと出ます。 これは、カーソル位置にマークをしましたよ、という Mule からのメッセージです。(マークしたと言っても、 Mule が内部的にマークした位置を記憶しているだけで、 画面に目に見えるマークがつくわけでは無いので注意してください。) このマークした位置と現在のカーソル位置との間を 領域 (region) と呼びます。

      正確に言うと、ここで言っている「カーソル位置」とは、 「カーソル位置の直前」です。 マークされる位置についても同様です。

    領域の削除、移動

      いったん領域さえ指定してしまえば、削除は簡単。 キーボードからなら C-w 、 menu-bar なら Edit の中の Cut です。 これは、kill コマンドなので、削除したテキストは、 Mule が記憶しています。 そこで、別の位置にカーソルを移動させて、 そこで yank (C-y) すれば、テキストの移動が出来ます。

    領域のコピー

      領域のコピーは、Windows の機能によっても出来ると思いますが、 Mule 自身の機能で行なう方法も説明しておきます。 (と言われても何のことか分からない人は、気にしないでください。)

      M-w で領域を kill ring にコピー することが 出来ます。マウスでドラッグした場合は、自動的に kill ring に コピーされているのでした。

      kill ring にコピー出来れば、後は移動と同様、 コピーしたい位置にカーソルを移動して、yank です。


まとめ

キー操作 機能の名称 機能の説明
カット&ペースト (テキストの削除と張り付け)
C-Space set-mark-command 領域を指定するためのコマンド。
カーソル位置(の直前)がマークされる。 マークした位置から、現在のカーソル位置(の直前)までを 領域 (region) と呼ぶ。
かわりにマウスでドラッグしても良い (すると、M-w までしたことになる)。
C-w kill-region 領域削除。
削除したテキストは kill ring に記憶される。 menu-bar の Edit の中の Cut でも良い。
M-w kill-ring-save 領域の kill ring へのコピー。 menu-bar の Edit の中の Copy でも良い。
C-y yank (kill ring に記憶されているテキストの)ペースト。 つまり、C-w や M-w , さらに C-k したテキストを 現在のカーソル位置に挿入する。 menu-bar の Edit の中の Paste でも良い
置換
M-% query-replace 確認付き置換。 menu-bar の Edit の中の Query Replace でも良い。
y or Space ---------- 置換を実行して、次に置換する部分にカーソル移動。
n ---------- 置換を実行しないで、次に移動。
! ---------- 確認無しで、それ以降の全ての置換を実行する。
Esc ---------- 置換を終了する。
検索
C-s isearch-forward 前方検索
C-r isearch-backward 後方検索
C-s C-s ---------- 前方に再検索
C-r C-r ---------- 後方に再検索