viviでviモード置換
viviでviモード編集できるように設定する。
- viviを起動する。
- メニュー「その他」、「共通プロパティ」、「vi」を選択して、viモード有効にする。
- この状態で、ファイルを開く。
- キーボードで[ESC]キーを入力する。(viモードへ移行する。戻しはiを入力する。)
viモードでの置換
- 「:開始行番号,終了行番号 コマンド」形式でviでコマンドを実行する。
- 例1)1行目から最終行($)まで s(sed)コマンドを実行する。行の先頭に"aaa "を追加する。
:1,$ s/^/aaa /
- 例2)1行目から最終行($)まで s(sed)コマンドを実行する。行の先頭のTAB5個を"+++++"に置換する。
:1,$ s/^\t\t\t\t\t/+++++/
- 例3)1行目から最終行($)まで s,g(sed)コマンドを実行する。"Test"を"test"に1行の中すべて置換する。(gをつけないと行ごと最初の物だけ置換する。)
:1,$ s/Test/test/g
正規表現リファレンス「vivi仕様」捕捉:
ダブルバイト文字、濁点または半濁点付きの有効な半角カナ文字は1文字として取り扱われる。 [] でダブルバイト文字を指定できる。 あいまい検索指定は正規表現内でも [] の中を除き有効である。
- 任意の1文字(ダブルバイト文字も1文字)とマッチします。
.
- 角かっこに囲まれた文字のうちの任意の 1 文字、または、ハイフン (-) で区切られた文字範囲のうちの任意の1文字にマッチします。たとえば、b[aeiou]d は bad、bed、bid、bod、および bud にマッチします。また、r[eo]+d は red、rod、reed、および rood にはマッチしますが、reod や roed にはマッチしません。x[0-9] は x0、x1、x2 などにマッチします。角かっこ内の最初の文字としてカレット (^) を指定すると、意味が反対になり、カレットに続く文字以外のすべての文字にマッチします。
[]
- 角かっこ内の、カレット (^) に続く文字以外の任意の1文字、またはハイフン (-) で区切られた文字範囲内の文字以外の任意の1文字にマッチします。たとえば、x[^0-9] は xa、xb、xc などにはマッチしますが、x0、x1、x2 などにはマッチしません。
[^]
- 行の先頭にマッチします。正規表現の最初にあるときのみ有効です。
^
- 行の末尾にマッチします。正規表現の最後にあるときのみ有効です。
$
- 文字列 s1 または s2 または ... とマッチします。文字列には正規表現が使用できます。
(s1|s2|...)
- 直前にある文字または正規表現の0回以上の繰り返しにマッチします。たとえば、ba*c は bc、bac、baac、baaac などにマッチします。
*
- 直前にある文字または正規表現の1回以上の繰り返しにマッチします。たとえば、ba+c は bac、baac、および baaac にはマッチしますが、bc にはマッチしません。
+
- 直前にある文字または正規表現の0回または1回の繰り返しにマッチします。たとえば、ba?c は bac、bc にはマッチしますが、baac にはマッチしません。
?
特殊文字一覧
特殊文字 | 説明 |
\t | タブを表します |
\b | バックスペース |
\
|
|
\[ | [ |
\] | ] |
\^ | ^ |
\$ | $ |
\( | ( |
\) | ) |
\| | | |
\* | * |
\
|
|
\? | ? |
\\ | \ |
\xHHHH | SJISコードによる文字 |
使用例
正規表現 意味
----------------- --------------------------------------------------------
^$ 空行とマッチします。
^.+ 空行以外とマッチします。
^● "●" で始まる行とマッチします。
^[0-9]+# 先頭に数字が続き、その直後に "#" がある行とマッチします。
[a-zA-Z]+ 半角英字列とマッチします。
[a-zA-Za-zA-Z]+ 半角・全角英字列とマッチします。
vi(vi)? "vi" または "vivi" とマッチします。
(NEC|日本電気) "NEC" または "日本電気" とマッチします。
----------------- --------------------------------------------------------
開発Tips
|
|