この記事では、Vimでプラグインを使わずに「ファイル内の英数字を全て小文字に変更する」ための方法について、ご紹介します。
目次
[解答] ggVG u または gg gu G
パターンA. ビジュアルモードを駆使する
(ノーマルモード)
:ggVG u
全選択した状態のビジュアルモードへ移行した後、小文字へ変換する手法です。
こちらは直感的で、ビジュアルモードで選択する範囲を変えれば、範囲を変更することができます。
パターンB. モーションとオペレータを駆使する
(ノーマルモード)
:gg gu G
こちらの方が Vimmer らしい方法かも知れません。
最初の行へ移動後、小文字へ変換するオペレータを指定し、ファイルの最後尾へ移動する手順です。
こちらは実行時のカーソル位置を起点に範囲指定するオペレータ gu がポイントです。
このようなモーション+オペレータの組み合わせこそ、Vimmer らしいと言われることが多いようです。
おまけ. 同じ行のテキストを全て小文字にする方法
パターンA. ビジュアルモードを駆使する
(ノーマルモード)
0v$u
行頭移動、ビジュアルモード化、行末移動、小文字変換の流れです。
いくつかの動作の組み合わせになるので、考え方がちょっと煩わしいですね。
パターンB. モーションとオペレータを駆使する
(ノーマルモード)
gugu
または
(ノーマルモード)
guu
こちらの方がスマートで Vimmer らしいかもしれませんね。
様々なパターンをぜひ覚えましょう。
この変換パターンの補足情報
- 利用頻度
- 便利さ
- 覚え易さ
関連するVimヘルプ
紹介した方法のうち、guオペレータほかについては下記のようにヘルプでは記載されています。
gu lowercase
change – Vim日本語ドキュメント
gu{motion} {motion} のテキストを小文字にする。
こちらは下記のコマンドでヘルプを確認できます。
:help gu :help gugu :help guu
ヘルプで検索するときは、通常は大文字小文字は識別されませんので、どちらでも構いません。
参考書籍
こちらの書籍が参考になります。
Vim/neovim関連の書籍で、もっとも評判が良くてバイブルと呼んでる人もいる一冊です。Vim/neovimのバージョンに依存しない沢山のTips形式で、その表題通りに「思考のスピードで編集」できるようになるノウハウが詰まっています。その高い評価は Amazon のレビューからも分かる通りです。Vimmer なら必ず一度は読んでおいて間違いありません。
こちらもVim関連の書籍で評価が高い書籍の一冊です。vim-jpで見かける上級Vimmer(Vimサポーターズ)の皆様による、Vimを実践で使ったノウハウからプラグイン関連の情報が詰まっています。日本の Vim界隈を知る上でも是非一読しておきたい一冊です。
Vim/neovim の設定ファイルやプラグインなど、Vim script に関するノウハウがいくつも詰まった一冊です。日本で Vim Script をここまで深く解説している唯一の書籍と言えます。Vim力を伸ばしたいと考えるなら、絶対に避けては通れない書籍でしょう。