LoginSignup
5

More than 5 years have passed since last update.

vimで特定の文字列を含む行内の文字列を置換する

Last updated at Posted at 2015-02-10

概要

文字列'hoge'が含まれる行において '123' を '456' に置換したい

実行例

$ cat hoge.txt
aaaaaaaa123
bbhogebb123
cccccccc123
ddhogedd123
eeeeeeee123

こんなファイル:hoge.txtがあったとしてvimでひらく。

$ vim hoge.txt

以下を実行。

:g/hoge/s/123/456/g
:wq!

catでひらく。

$ cat hoge.txt
aaaaaaaa123
bbhogebb456    ←
cccccccc123
ddhogedd456    ←
eeeeeeee123

のようにhogeが含まれる行の123456に変わっている。

もちろん正規表現も使えるのでhogeが含まれる行の先頭に文字列fooを入れたいという場合は

:g/hoge/s/^/foo/

といった具合でOK。

所感

結構使うのにすぐ忘れるのでメモ。特に行先頭へのコメントアウトを一括で行う時は便利。

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
5