7.文章の検索と置換
単語を検索する
単語というよりは、パターン検索と言った方が良いかもしれない。
/patternというコマンドで、patternに一致する部分を検索する。
/をキーインすると、画面下に/が表示されるので、それに続いて検索パターンを入力すれば良い。
nを押せば、次に一致する場所を、Nを押せば、前に一致する場所を表示してくれる。
一文字、複数文字を置換する
一文字を置換するには、置換したい文字の上にカーソルを置き、rを押します。
すると、置換できるようになるので、置換したい文字を入力することで、
カーソル上の文字が置換されます。
複数文字を置換するには、Rを押します。
すると、置換できるようになるのですが、実はこの場合、入力モードに移行してしまうので、
置換が終了したら、Escで入力モードを終了させる必要があります。
一括置換する
一括置換をするには、:(範囲)s/(pattern1)/(pattern2)/(オプション)というコマンドを使います。
範囲には、(開始行),(終了行)と%(全体)が使えます。
pattern1は、置換される文字列です。
逆に、pattern2は、置換する文字列です。
つまり、pattern1がpattern2に置き換わるということです。
例えば、1,5s/he/she/というコマンドを使えば、
1行目から5行目の間で、最初に現れたheをsheに置換します。
ここで、オプションにgを指定してみると、
つまり、1,5s/he/she/gというコマンドを使うと、
最初に現れたheだけでなく、1,5行目に現れる全てのheをsheに置換することが出来ます。
さらに、オプションにcを指定してみると、
つまり、1,5s/he/she/gcというコマンドを使うと、
一辺に置換されるのではなく、置換の確認が行われます。
置換するときはyを、しないときはnを押せば、置換の選択が出来ます。
大文字と小文字を区別しないようにするには、:set icとすることで出来る。
これは、先に述べた.exrcにも適用できます。