- 1. 概要
- 2. 置換条件を省略すると、最後に検索した検索条件を利用
- 3. man 出力を整形
1. 概要
検索・置換に関しては、前のページで書いていますが。
検索は、以下のように記述します。
:/文字列
://
上が、単純な検索。下は、直前に検索した文字を再検索します。
置換は、以下の形式で、記述します。
:%s/文字列1/文字列2/
:%s/文字列1/文字列2/g
:n,m s/文字列1/文字列2/g
いずれも、文字列1を文字列2に置換しますが。
上から
1回のみ置換。
全行置換。
n~m 行置換になります。
「[」などの特殊文字を検索するときは、「\」でエスケープさせれば検索できます。
「[A]」てな文字を検索するには
:/\[A\]
で検索できます。
もっと、複雑なパターンもあるので、それは別の機会に正規表現として、述べますが・・・。
これを、置換に応用するとうまくいかないんだな・・・。
「[A]」を「A」みたいに、単純なかっこなしに変換しようとして
:%s/\[A\]/A/
てなことをやっても、確かにテキストファイル内に「[A]」があるにもかかわらず
Pattern not found
と言われちゃうのだ。
もっと複雑な方法を使わねばならんかと思っていたら、「ここまで出来る!Vimの(ちょっと高度な)正規表現と検索/置換テクニック」にうまいやり方が載っていました。
2. 置換条件を省略すると、最後に検索した検索条件を利用
タイトルまで、まるぱくりですが・・・。
検索時の、前回と同じ文字列を検索という機能は、置換に応用できるのだ。
すなわち、「[A]」を「A」に置換するには・・・。
:\[A\]
で、検索後
:%s//A/
って、やっちゃえばいいのだ!
便利。
3. man 出力を整形
「サクラエディタ」で、同じようなことをやっていますが。
「Unix」系のプラットフォームで、「man」コマンドの結果を、リダイレクトして、テキストファイルへ出力すると。
man コマンド > ファイル名.txt
デフォルトで、バックスペース修飾されるため、テキストとしては、読みにくい状態になります。
バックスペース修飾をなくすには、コマンドモードで、下記を行います。
%s/.\b//g
|