LoginSignup
1
1

More than 3 years have passed since last update.

vim での置換で正規表現を使う

Last updated at Posted at 2019-08-01

やりたいこと

vimでの置換で苦しむ
 [ や" や (space)をうまく認識できない。\でエスケープしてもできなかったりする。
 また、任意の文字が入った外側の文字を置換したい場合に対応できない。

 解決法

\v をつけて一般の(?)正規表現を使えるようにする


:%s/\v([.])//gc
[1][2]などの[]で囲まれ、中身が一文字の場所を全て置換できます。

 ちなみにg(global?)は一括置換を意味するコマンドですが、よほど自身がない限り、c(check?)をつけることを勧めます。
 
 y or n を押すと置換するかどうかを1つずつ選択できます。

問題点

今までできた単純な置換が\vだと弾かれたりしたので(どんなケースはダメかわかればあとで書きます)、単純な置換は\vをつけずにやった方がいいかもです。

⬆️
@slin さんからコメントをいただきました。
vim 上で :h magicを押すと、split viewでもう1つ別の画面が現れて、help画面が現れます。そこでそれぞれのモードで何の文字がescapeが必要かを示してくれるようです。便利!

image.png

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1