• 追加された行はこの色です。
  • 削除された行はこの色です。
#author("2022-08-28T13:20:58+09:00","default:ryuichi","ryuichi")
* ビジュアルモードで矩形選択範囲内だけを置換する [#p95de367]

以下のようなテキストがあって、

 2000/3/30
 2001/4/30
 2002/5/30
 2000/03/30
 2001/04/30
 2002/05/30

年部分だけをビジュアルモードで矩形選択して、

 :'<,'>s/\%V0\%V/9/g
 :'<,'>s/0/A/g

のように"\%V"で対象をくるむと、以下のように年の0だけ9に置換される。
とやっても、

 2999/3/30
 2991/4/30
 2992/5/31
 2AAA/A3/3A
 2AA1/A4/3A
 2AA2/A5/3A

となり、行全体が置換される。年部分だけ置換するには、


 :'<,'>s/\%V0/A/g

のように '''\%V''' のあとに '''0''' を指定する。すると、

 2AAA/03/30
 2AA1/04/30
 2AA2/05/30

となる。なお、''':'<,'>s/0/A/g''' で置換を実行する前に選択モードを解除していても構わない。その場合は、

 :%s/\%V0/A/g

とすれば、前回選択した範囲(すなわち年部分)だけが置換される

** 選択範囲内だけを検索する [#xab15d68]

- CTRL-Vで必要な箇所を選択する。
- ESCでビジュアルモードを抜ける。
- /で検索を開始する。
- \%Vfoo のように最初に\%Vを入力して、次に検索したいワード(ここではfoo)を入力する。

** 参考 [#q619d2dd]
http://vimdoc.sourceforge.net/htmldoc/pattern.html


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS