- 2010-08-08 (日) 0:00
- Vim Hacks
ローマ字の大文字と小文字を変換する機会は意外に多いです。なので、Vim にはこれを行うための便利な機能があります。
~
~ を押すと、カーソル下のローマ字の大文字/小文字を相互に変換します。大文字は小文字に、小文字は大文字になります。この際、カーソルを右に進めます。 [count] を指定することで複数の文字を同時に変換することができます。変換は一括で大文字/小文字にするのではなく、文字単位で作用します。つまり VimHack は vIMhACK になります。
gu gU g~
これらはオペレータで、対象に対してそれぞれ、gu は小文字への変換を、gU は大文字への変換を、g~ は大文字/小文字の相互変換を実行します。 例えば、現在のカーソルのある単語を全て大文字にしたい場合は gUiw です。 また、yy などと同様に行に対して動作する gugu guu gUgU gUU g~g~ g~~ があります。
Visual mode での u U ~
これらは Visual mode では g なしで動作します。
'tildeop'
'tildeop' オプションをオンにすると、~ はオペレータに変化します。g~ を頻繁に使う場合には便利でしょう。
正規表現
もっと複雑な変換を行いたい場合もあるでしょう。正規表現で置換する際、結果の大文字/小文字を指定することができます。 置換後のパターンに u があると、次の文字は大文字になります。l があると小文字になります。
:s/\w\+/\u\0/g
"bram moolenaar" → "Bram Moolenaar"
また、U や L があると、E が出現するまでそれぞれ大文字/小文字に変換します。
thinca
- Newer: Wanted: Lightning talkers at the “Vim” sub-event in RubyKaigi 2010
- Older: RubyKaigi2010企画 “Vim” におけるライトニングトークの発表を募集します
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://vim-users.jp/2010/08/hack166/trackback/
- Listed below are links to weblogs that reference
- Hack #166: ローマ字の大文字/小文字を変換する from Vim-users.jp

