Vim では U
や u
と入力するだけで、テキストの大文字と小文字を変換することができます。
ビジュアルモードでの操作
U
… 選択した範囲を大文字に変換u
… 選択した範囲を小文字に変換~
… 選択した範囲の大文字と小文字を入れ替え
例えば、Shift-V
で、行を選択しておいて U
と入力すれば、その行全体のアルファベットを大文字にすることができます。
ノーマルモードでの操作
gUU
/guu
… カーソル行すべての文字を大文字/小文字に変換するgUiw
/guiw
… カーソル位置の単語を大文字/小文字に変換~
… カーソル位置の一文字の大文字/小文字を反転させるg~~
… カーソル行すべての文字の大文字/小文字を反転させる
若干難しい組み合わせのように見えますが、ノーマルモードでは、gU
や gu
の後に置換範囲を入力することで、その範囲を大文字、小文字に変換することができます。
例えば、置換範囲として iw
を入力すると (guiw
)、カーソル下の単語を変換対象とすることができます。
置換範囲として移動コマンドを入力することもできるため、例えば gu$
と入力すれば、カーソル位置から行末 ($) までを小文字に変換することができます。
ただし、どちらかというと、大文字と小文字の置換は、ビジュアルモードで範囲選択を行ってから u
や U
と入力する方がわかりやすいです(しかもタイプ数はほぼ同じ)。
例えば、カーソル下の単語を大文字に変換するには、viw
で単語選択してから、U
と入力すれば OK です。