コマンドラインモード¶コマンドを打ち込んで操作するモード。20分Normalモードで:を打つとコマンドラインモード開始です。:から始まるコマンドExコマンドといいます。Exコマンド¶Exコマンドはオペレータで代用できるものが多いです。ExコマンドはVim以外のエディタ/IDEでは対応していないリスクがあるため、代用可能ならオペレータの使用をお勧めします。オペレータよりも効率がよくなるコマンドを紹介します。実際に試してみましょう。以下の順にコマンドを実行してみてください。:52m38:53t.▼100200300400500600700800900100011001200130014001500160017001800190020001歩も動かずに移動や複製ができました😄ただ、52Gdd38Gpの方がフィードバックもあり直感的な気はします。置換はExコマンドでなくてはできません。:[range]s/{pattern}/{string}/[flags]とコマンドを打つと、[range]の{pattern}を{string}に置換します。ためしにsuをSuuuuu!へ置換してみましょう。gフラグは発見した初めの1パターンだけでなく、全てのパターンに処理をするフラグです。(外すと1つ目しか置換されない):s/su/Suuuuu!/gと実行。基本的に:の直後には[range]を指定します。:%dまたVisualモードで範囲を選択した状態で:を押すと、その範囲が[range]になった状態でコマンド入力画面に移動します。'<,'>という表記ですが覚える必要はありません。'>が選択範囲終了位置という意味です。normalコマンド¶ななななんと..Normalモードのコマンドがそのまま使えちゃいます!やってみた方が早いのでどうぞ。Atsushi?選択範囲の行全てにnormのあと入力したNormalコマンドが実行されます。ドットコマンドを使えばci'Aikawa<ESC>+.2+.と書けますが、範囲が増えるとこちらの方が速いです😄normではドットコマンドそのものも指定できるため、Normalモードで動作確認してから繰り返すこともできます。friend!繰り返し¶Normalモードの操作が.コマンドで繰り返せるように、Exコマンドも@:で繰り返すことができます。:<UP><CR>でも十分ではありますが..。外部コマンド¶!から始まるコマンドはシェルとして実行できます。!whoami<CR>と打てば自分の名前がバッファに挿入されます。高度な例として本サイトのTOPページ(html)を取得し、<meta>データの中身を抜き出してみましょう。contentの属性抜き出し▼----<result>----コマンドラインウィンドウ¶Exコマンドや外部コマンドは便利ですが、コマンドを都度入力するのは大変です。コマンドラインモードで<C-r>"と押せばヤンクをputできるため、事前にVimで編集したコマンドをyankしておくと少し楽になります。minそれよりもコマンドラインウィンドウを使った方が直感的です。Vimの機能を使ってコマンドを編集できますNormalモードから開く¶Normalでq:と押してみてください。:qと押し間違えたときに馴染みのある画面になりませんか?🤓コマンドラインウィンドウでは以下のことができます。Vimの検索/挿入/編集機能Enterでその行に記載されたコマンドが実行される<C-c>でその行に記載された内容をコマンドラインモードに送るコマンドラインモードから開く¶コマンドラインモードでコマンド入力中に編集したくなったとき便利です。<C-f>で開きます。Exコマンド以外のコマンドラインウィンドウ¶Exコマンドだけでなく検索のコマンドラインウィンドウもあります。