ホーム DoRuby [scala] [vim] vimでSnakeCaseとcamel_caseとを変換する
[scala] [vim] vimでSnakeCaseとcamel_caseとを変換する
 

[scala] [vim] vimでSnakeCaseとcamel_caseとを変換する

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

RailsとPlayで同一のDBを参照した環境で開発している場合には、この変換を機械的にできると便利

 本記事の対象者

・RailsからもPlayからも同一のDBに対してアクセスするモジュールをvimで開発している。

 RailsとPlayのいずれでも開発しているときの問題点

  • Railsの推奨は、キャメルケース(単語間をアンダーバーで区切る)
  • Playの推奨は、スネークケース(単語間の文字の先頭を大文字にする)

特にDBのカラム名を扱うとき、Rails側ではキャメルケースで書き、Play側ではスネークケースで書くことになり、双方のコードの編集を行き来しているとキャメルケースとスネークケースとを機械的に変換したくなる。

 対応方法

vimにはキャメルケースとスネークケースとを機械的に変換するプラグインが存在する。

その1つのoperator-camelizeというプラグインを導入した。

なお、当該プラグインのベースとなるこのプラグインも必要。

 設定

「.vimrc」に

map <leader>c <plug>(operator-camelize-toggle)

と設定しておくことで、VisualModeで選択した後「\c」でキャメルケースとスネークケースとをトグル変換できる。

トグル変換が嫌な場合には、以下のように設定するとよい。

「\c」でキャメルケースへの変換。

「\C」でスネークケースへの変換。

map <leader>c <plug>(operator-camelize)
map <leader>C <plug>(operator-decamelize)
記事を共有

最近人気な記事