I-search:
と聞いてきます。後は、探したい言葉を入力するだけです。 探していた所が見つかったら、 Enter で検索モードを 抜けます。探していた言葉は見つかったけど、場所が 違った場合は、再び C-s と入力すると、 Mule は再び、下の方に向かって検索を続けます。 検索しようとした言葉が見つからなかった時は、Mule は、 mini-buffer で検索に失敗しました(Failing I-search)と 文句を言ってきます。
Mule は、最後に検索した言葉を覚えています。 検索した後に、別の操作をして、再び同じ言葉を探したく なったら、 C-s C-s と 2回 C-s を入力してください。すると、最後に検索した 言葉を再び探してくれます。
一点だけ注意。 Mule が覚えている、最後に検索した言葉は、 C-s , C-r の区別はありません。
Query replace:
と聞かれるので、sato と 入力(して Enter キーを押)します。すると、今度は
Query replace sato with:
と聞かれるので、suzuki と 入力します。
すると Mule は、 現在のカーソル位置から下に向かって sato と書いてあるところを探します。 (従って、カーソルより上に sato と書いてあるところがあっても、 Mule は関知しないので、通常、置換をするときは、最初に file の先頭まで 移動しておかなくてははならないのです。) 見つけると、mini-buffer で、
Query replacing sato with suzuki:
と聞いてきます。この時、 Space or y で、置換を実行します。 もし、そこの sato は suzuki に置換したくないのだったら、 n とすると、 置換を実行しません。
どちらの場合でも、Mule は再び file の 下に向かって sato を探して、同じことを聞いてきます。 以下、sato と書いてあるところが無くなるまで、 この操作を繰り返します。
途中で、置換をやめたくなったら、 Enter です。
M-< M-% sato(Enter) suzuki(Enter) !
と入力することになります。
(当たり前のことですが)file の中に、例えば、satomura と 書いてあるところがあったら、一括置換をしてしまうと、 suzukimura になってしまいます。 このような恐れがある場合は、確認付き置換を使いましょう。
もちろん、キーボードでも領域指定が出来ます。 (説明はややこしいかもしれませんが、操作自体は簡単です。) C-Space or C-@ とすると、 mini-buffer に Mark set などと出ます。 これは、カーソル位置にマークをしましたよ、という Mule からのメッセージです。(マークしたと言っても、 Mule が内部的にマークした位置を記憶しているだけで、 画面に目に見えるマークがつくわけでは無いので注意してください。) このマークした位置と現在のカーソル位置との間を 領域 (region) と呼びます。
正確に言うと、ここで言っている「カーソル位置」とは、 「カーソル位置の直前」です。 マークされる位置についても同様です。
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 | ---------- | 後方に再検索 |