1

qty_on_hand のようなテキストを Qty_On_Hand に変換できるクイック マクロが必要です。アンダースコアのない単語は大文字にする必要があるため、説明は説明になります。ソース テキストの大文字と小文字は一致しないため、QTY_on_Hand -> Qty_On_Hand となる可能性があります。

何か案は?

4

1 に答える 1

0

次のことを試してください。

: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 識別子がないことを前提としています。

于 2011-04-04T15:32:55.510 に答える