LoginSignup
1
2

More than 5 years have passed since last update.

Vimで正規表現を使って1行中の任意文字列を入れ替える

Last updated at Posted at 2016-08-28
『パーフェクトJavaScript』/井上誠一郎
『パーフェクトRuby』/Rubyサポーターズ
『リーダブルコード』/Dustin Boswell

この各行を/を中心にひっくり返してみる

TL;DR

:%s #\(.*\)\/\(.*\)#\2\/\1

Vimでの置換

(2016/08/29 追記) %sの区切りはスラッシュでなくても良いようです。
したがって、

:%s/置換対象/置換文字列

でも良いし、

:%s #置換対象#置換文字列

とも書けるようです (thx @sugitk)
あらかじめ/が対象になることが分かっている場合こういう方が見やすそうです。

グループ化

  • ()の中に入れる
    • (, )\でエスケープする必要がある
    • Windowsだと¥
  • .* 任意文字列の0回以上の繰り返し
    • . 任意文字列
    • * 0回以上の繰り返し
  • グルーピングしたものは\1, \2, ...で取り出し

文字列のエスケープ

  • 文字列中の/はエスケープが必要なので\/
1
2
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
2