まくまくVimノート
大文字と小文字を変換する
2014-11-18

ビジュアルモードでの操作

  • 選択した範囲を大文字に変換: U
  • 選択した範囲を小文字に変換: u
  • 選択した範囲の大文字と小文字を入れ替え: ~

例えば、Shift-V で、行を選択しておいて U と入力すれば、その行全体のアルファベットを大文字にすることができます。

ノーマルモードでの操作

  • カーソル行すべての文字を大文字/小文字に変換する: gUU / guu
  • カーソル位置の単語を大文字/小文字に変換: gUiw / guiw
  • カーソル位置の一文字の大文字/小文字を反転させる: ~
  • カーソル行すべての文字の大文字/小文字を反転させる: g~~

若干難しい組み合わせのように見えますが、ノーマルモードでは、gUgu の後に置換範囲を入力することで、その範囲を大文字、小文字に変換することができます。

例えば、置換範囲として iw を入力すると (guiw)、カーソル下の単語を変換対象とすることができます。 置換範囲として移動コマンドを入力することもできるため、例えば gu$ と入力すれば、カーソル位置から行末 ($) までを小文字に変換することができます。

ただし、どちらかというと、大文字と小文字の置換は、ビジュアルモードで範囲選択を行ってから uU と入力する方がわかりやすいです(しかもタイプ数はほぼ同じ)。 例えば、カーソル下の単語を大文字に変換するには、viw で単語選択してから、U と入力すれば OK です。

2014-11-18