Vim でのスネークケース→キャメルケース変換作業をしたので、今回やった方法をメモ。
- 検索で、
/\C_[A-Z]
として対象の変数までカーソルを持っていく - どっちのキャメルケースにしたいかによって以下 2 つのどちらかを入力
- ロウワーキャメル:
qqviwuve:s/\v_(.)/\u\1/g<Enter>q
- アッパーキャメル:
qqviwuvUve:s/\v_(.)/\u\1/g<Enter>q
- ロウワーキャメル:
- 以降、
n
して@q
で確認しながら変換していく
qq
: レジスタq
でマクロを記録開始viwu
: 変数が 1 ワードなので、全てをいったん小文字に変換viwu
: 変数が 1 ワードなので、全てをいったん小文字に変換vu
: アッパーキャメルケースにしたいときに追加、カーソルのある位置の文字を大文字に置換ve
: 変数全体をヴィジュアルモードで選択:s/\v_(.)/\u\1/g<Enter>
: キャメルケースになるようにアンダースコア直後の文字を大文字に変換\v_(.)
: 一般的な(?)正規表現で、「アンダースコアと、そのひとつ後ろの文字」をヒットさせる ヒットしたモノの中の、「ひとつ後ろの文字」を、()
で括り、置換の際に利用する\u\1
: 検索時に()
で括った個所のひとつ目を、大文字に変換して置換
q
: マクロ記録終了@q
:q
レジスタに記録したマクロを実行
以上。
0 件のコメント:
コメントを投稿