qty_on_hand のようなテキストを Qty_On_Hand に変換できるクイック マクロが必要です。アンダースコアのない単語は大文字にする必要があるため、説明は説明になります。ソース テキストの大文字と小文字は一致しないため、QTY_on_Hand -> Qty_On_Hand となる可能性があります。
何か案は?
qty_on_hand のようなテキストを Qty_On_Hand に変換できるクイック マクロが必要です。アンダースコアのない単語は大文字にする必要があるため、説明は説明になります。ソース テキストの大文字と小文字は一致しないため、QTY_on_Hand -> Qty_On_Hand となる可能性があります。
何か案は?
次のことを試してください。
:let @t="caw\<C-r>=join(map(split(@\", '_', 1), 'toupper(v:val[:0]).tolower(v:val[1:])'), '_')\n\e"
次に@t
、通常モードで入力すると、現在の単語が要求どおりに置き換えられます。やみくもにすべてを置き換えたい場合は、使用します
:%s/\<\w\+\>/\=join(map(split(submatch(0), "_", 1), "toupper(v:val[:0]).tolower(v:val[1:])"), "_")/g
vim に各置換について尋ねてもらいたい場合は、フラグのc
後に追加します。g
2 番目の解決策は、ソース コードに非 ASCII 識別子がないことを前提としています。