LoginSignup
35
24

More than 5 years have passed since last update.

VIMで置換するときのsコマンドの使い方メモ

Last updated at Posted at 2018-01-14

sコマンドを使うと、vim内でsedと同じことができる。


:s/before/after/
  • 現在カーソルがある行の一番はじめに出てくるbeforeをafterに置換


:s/before/after/g
  • 現在カーソルがある行の全てのbeforeをafterに置換


:1s/before/after/
  • 現在開いているファイル1行目の一番はじめに出てくるbeforeをafterに置換


:1s/before/after/g
  • 現在開いているファイル1行目に出てくる全てのbeforeをafterに置換


:1,10s/before/after/g
  • 現在開いているファイル1〜10行目に出てくる全てのbeforeをafterに置換


:%s/before/after/
  • 現在開いているファイルの各行の一番はじめに出てくるbeforeをafterに置換


:%s/before/after/g
  • 現在開いているファイルに出てくる全てのbeforeをafterに置換


:%s/before/after/gc
  • c をつけると、確認(yes/no)が出るようになります。


:1,10s#before#after#gc
  • "/"は別の文字でも可能。オススメは "#" (見易いので。また、/を\でエスケープしなくてよくなる)。


:%s#a\|b#c#g
  • aまたはbを、cに置換する。
    • BREの (sedやgrepと同じ) 正規表現になる。
    • | はor条件を表す。
    • \ で | をメタ文字にする(エスケープする)。


:%s#\va|b#c#g
  • aまたはbを、cに置換する
    • \vでEREの (grep -e、egrep、awk、perlと同じ) 正規表現になる。


:%s#\v(a|b)#\1c#g
  • aまたはbを、acまたはbcに置換する
    • \1は ( ) にマッチしたパターン文字列になる
      • oniguruma の$1と同じ
35
24
4

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
35
24