いつまで経っても vim 初心者なので、ちょっとした事にスゴイって感じてます。
rails の seeds.rb をコピって factory_bot に書き換えていた時に、やっぱ vim ってスゴイって感じました。
置換元
bank_id: bank.id,
credit_card_id: card.id,
start_dt: Date.new(2014, 9, 1),
end_dt: Date.new(9999, 12, 31),
置換結果
bank_id { bank.id }
credit_card_id { card.id }
start_dt { Date.new(2014, 9, 1) }
end_dt { Date.new(9999, 12, 31) }
のようにしたいのです。
:
は、行選択後 s/:/ }/g
で置換出来ます。
問題は ,
です。 3 行目と 4 行目で Date メソッドのパラメータのセパレータとして使用されています。
s/,/ }/gc
として確認しながら置換する事も出来ますが、それだと間違って Y
を押してしまう可能性が残ります。
置換したい ,
は行末の ,
だけです。そこで正規表現を使用して行末の ,
を対象にします。
s/,$/ }/g
vim ってすごいです。