この記事はアピリッツの技術ブログ「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)