文字列検索・置換

カーソル行以降の文字列検索には、C-s を用います。C-s を入力するとミニバッファに

I-search:
と表示されるので、検索したい文字列を入力して下さい。検索の終了は C-g を押します。

一度入力した文字列を続けて検索したい時には、C-s を続けて2回押します。C-s の代わりに C-r を用いるとカーソル位置より前にある検索文字列を表示します。日本語の文字列を検索する場合1は、C-sの後にEnterを押してから、C-\;でかな漢字変換モードにしてから入力して下さい。

確認付きの文字列の置換を行うには M-% を用います。M-% を入力すると

Query-replace:
とミニバッファに表示されますので、まず置換したい文字列を入力します。例えば, C言語プログラムでint を long にしたいときには、M-%の後に int と入力し、Enterキーを押します。ミニバッファの表示が以下のように代わるので、ここで long を入力し, Enterキーを押します。

Query-replace int with: long

置換する文字列 int があるとそこで、以下のように表示されます。

Query-replace int with long: (? for help)

ここで、スペースキーか'y'を押せば置換が行われ、'n'を押すと置換は行わず、次の候補に移動します。終了するときには、Enterキーか'q'を入力します。上に表示されている通り '?' を入力すればコマンドのリストが表示されます。

文字列の置換を確認なしに一括して行いたいときには、まず一括置換を開始したい場所にカーソルを移動し、M-x を押します。このとき、ミニバッファの表示は以下のようになります。

M-x

ここで、replace-string と入力し、Enterキーを押します。

M-x replace-string

その後は、確認のある場合の文字列置換の場合と同様に、置換のための文字列を入力すれば、一括置換が行われます。

emacs には replace-string の他、非常にたくさんのコマンドがあり、M-x は、このコマンドを入力するのに使われます。コマンドの名前はTabキーで補完しながら入力することができます。候補のコマンドが複数あるときには、候補一覧が表示されます。

表 1-3文字列検索・置換
キー操作 意味
C-s 文字検索 (カーソル行以降で検索)
C-r 文字検索 (カーソル行より前で検索)
M-% 文字列置換(確認あり)
M-x replace-string 文字列置換(確認なし)
1

migemoという便利なツールがあります。を参照してください。