[Vim問題] ファイル内の英数字を全て小文字に変更する方法は?

オペレーションを使った小文字変換

この記事では、Vimでプラグインを使わずに「ファイル内の英数字を全て小文字に変更する」ための方法について、ご紹介します。

[解答] ggVG u または gg gu G

パターンA. ビジュアルモードを駆使する

(ノーマルモード)
:ggVG u

全選択した状態のビジュアルモードへ移行した後、小文字へ変換する手法です。

 ビジュアルモードを使った小文字変換
ビジュアルモードを使った小文字変換

こちらは直感的で、ビジュアルモードで選択する範囲を変えれば、範囲を変更することができます。

パターンB. モーションとオペレータを駆使する

(ノーマルモード)
:gg gu G

こちらの方が Vimmer らしい方法かも知れません。

最初の行へ移動後、小文字へ変換するオペレータを指定し、ファイルの最後尾へ移動する手順です。

オペレーションを使った小文字変換
オペレーションを使った小文字変換

こちらは実行時のカーソル位置を起点に範囲指定するオペレータ gu がポイントです。

このようなモーション+オペレータの組み合わせこそ、Vimmer らしいと言われることが多いようです。

おまけ. 同じ行のテキストを全て小文字にする方法

パターンA. ビジュアルモードを駆使する

(ノーマルモード)
0v$u

行頭移動、ビジュアルモード化、行末移動、小文字変換の流れです。

いくつかの動作の組み合わせになるので、考え方がちょっと煩わしいですね。

パターンB. モーションとオペレータを駆使する

(ノーマルモード)
gugu

または

(ノーマルモード)
guu

こちらの方がスマートで Vimmer らしいかもしれませんね。

様々なパターンをぜひ覚えましょう。

この変換パターンの補足情報

  • 利用頻度[star rate=3]
  • 便利さ[star rate=3]
  • 覚え易さ[star rate=1]

関連するVimヘルプ

紹介した方法のうち、guオペレータほかについては下記のようにヘルプでは記載されています。

gu lowercase
gu{motion}              {motion} のテキストを小文字にする。

gugu                                                    gugu guu
guu                     現在行を小文字にする。

change – Vim日本語ドキュメント

こちらは下記のコマンドでヘルプを確認できます。

:help gu
:help gugu
:help guu

ヘルプで検索するときは、通常は大文字小文字は識別されませんので、どちらでも構いません。

参考書籍

こちらの書籍が参考になります。

[temp id=3]

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Vim力アップして、そろそろ上級 Vimmer の仲間入りしたいIT系エンジニアの端くれです。読んでくる訪問者の皆様と一緒に、Vim力を上げていくことができる記事が書ければと考えています。