gnモーションで置換

 1: var f = new Foo();
 2: if (1) {
 3:     var a = Foo.foo();
 4: }
 5: Foo.bar();
 1: var f = new Boo();
 2: if (1) {
 3:     var a = Boo.foo();
 4: }
 5: Boo();
  • gnモーションは最後に使われた検索モーションで検索し、ビジュアルモードで選択する。
  • 検索ワードがファイル内にいくつもあり、それらのワードを連続して置換する場合などにgnモーションを使うと便利。
  • 上のようなコードでFooをBooに変えたい場合、
  • まずggで1行目に行き、/Fooで検索をしてnew Foo();の箇所に行く。
  • ここでcgnとすると、Fooが消えて置換モードに入るので、Booと入力する。これでFoo()がBoo()になる。
  • 次にnで3行目のa = Foo.foo()に行く。.ドットでFooをBooに変える。
  • さらにnで3行目のBoo.foo()に行くかもだが、ここは無視して、さらにnを実行して、5行目のFoo.bar()に行く。.ドットでFooをBooに変える。
  • これでFooをBooに変えることができた。

参考

vimcasts.org/episodes/operating-on-search-matches-using-gn/


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