文章中からの文字列検索には, カーソル以降を対象とした``前方検索''と カーソル以前を対象とした``後方検索''があります.
前方検索するにはC-sを入力します. エコーエリアに次のように表示されるので,検索したい文字列を入力します.
後方検索するにはC-rを入力します. エコーエリアには次のように表示されます.
次の実行例では`duck'という文字列を検索しています. C-sに続いてdを入力します. バッファの文頭から検索がはじまり,最初に該当する部分が表示され, そこにカーソルが移動します.
rabbit turtle owl dog cat parrot monkey duck horse pony rubber-duck squirrel [-]-J:- animal.txt (Text)--All------ I-search: d
続けて`uck'を入力します.このとき,カーソルはエコーエリアへは 戻りませんが,1文字ずつ入力するごとにその文字がエコーエリアに表示され, 入力された文字列と一致する場所へカーソルが移動します.
C-sをもう一度入力すると,カーソルが次候補へ移動します.
検索する文字列が複数の場所にあるときは,C-sまたは C-rを続けて入力することにより次候補の場所へとカーソルを移 動できます.またC-sで最後までいくとファイルのはじめの候補に戻ります.
文字列がみつかったら<ENTER>を押して検索を終了します.検索を中止する場合 はC-gを入力しますが,その場合カーソルは検索開始の場所 に戻ります.
C-sによる検索を実行すると, 1文字入力するたびに入力した文字列をテキスト全体から検索するため, 長い文章から検索するには時間がかかる場合があります. この場合,文字列全体を決定してから検索を行います.
文字列全体を入力してから検索するには, C-sを入力した後で <ENTER>を押します. エコーエリアに次のように表示され,カーソルが移動するので 検索したい文字列を入力します.
文字列全体を入力した後に<ENTER>を押すことで, 検索がはじまり,該当する部分にカーソルが移動します. 同様に後方検索の場合も, C-rにつづけて<ENTER>を押すことで, 文字列全体を指定してから検索できます.
日本語を検索する場合は,C-sを入力して`I-search :' とエコーエリアに表示されているときに C- (またはC-) を入力すると,次のようにエコーエリアの先頭に`[あ]'と表示さ れ,たまごを利用して日本語入力を行えます.<ENTER>を押すと,入力した 文字列の検索がはじまります.C-rでも同様に日本語文字列を検索 できます.
C-sを入力して`I-search :'とエコーエリアに表示さ れている状態で,もう一度C-sを入力すると,前回検索 した文字列を前方へ再検索できます. 同様にC-rと入力することによって 前回検索した文字列を後方へ再検索できます.
表1.3に文字列検索に関するキー操作を示します.
キー操作 | 意味 |
C-s | カーソル以降の文字列検索 |
C-r | カーソル以前の文字列検索 |
C-s <ENTER> | カーソル以降の文字列決定後検索 |
C-r <ENTER> | カーソル以前の文字列決定後検索 |
C-s C-s | カーソル以降の文字列再検索 |
C-r C-r | カーソル以前の文字列再検索 |
<ENTER> | 文字列検索の終了 |
C-g | 文字列検索の中止 |