いつまで経っても 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 ってすごいです。