ビジュアルモードで矩形選択範囲内だけを置換する

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

 2000/03/30
 2001/04/30
 2002/05/30

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

 :'<,'>s/0/A/g

とやっても、

 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

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

選択範囲内だけを検索する

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

参考

http://vimdoc.sourceforge.net/htmldoc/pattern.html


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2022-08-28 (日) 13:20:58