Vimで正規表現を使ってスネークケースとキャメルケースを相互変換する

Vimでスネークケースとキャメルケースを相互に変換する方法を紹介します。

スネークケース -> キャメルケース

以下のような文字列を変換する

hoge_fuga_piyo_foo_bar_baz

コマンドラインモードで以下のように入力

:%s/\v_(.)/\u\1/g

結果

hogeFugaPiyoFooBarBaz

スネークケース -> アッパーキャメルケース(パスカルケース)

以下のような文字列を変換する

hoge_fuga_piyo_foo_bar_baz

コマンドラインモードで以下のように入力

:%s/\v(^|_)(.)/\u\2/g

結果

HogeFugaPiyoFooBarBaz

キャメルケース -> スネークケース

以下のような文字列を変換

hogeFugaPiyoFooBarBaz

コマンドラインモードで以下のように入力

%s/\v([a-z]\@=)([A-Z])/\1_\l\2/g

結果

hoge_fuga_piyo_foo_bar_baz