Vimのコマンドラインウィンドウでコマンド履歴を編集・コピーする
🎄この記事は bitA Tech Blog Advent Calendar の16日目の記事です。
はじめに
Vimのコマンドラインモードを使う際、自分が過去に使ったコマンドの履歴をコピーしたい場合や長く複雑なコマンドを入力したい場合があります。
このような場合に、Vimのコマンドラインウィンドウを使うと便利だったのでコマンドラインウィンドウの開き方と実際の画面を紹介します。
以下では、Ctrlを含む入力を<C-*>のように表記します。(*は任意のキー)
Vimのコマンドラインウィンドウとは
Vimにはコマンドラインウィンドウという機能があります。
コマンドラインウィンドウを開くと、以下の画像のようにコマンドの履歴が表示され、ビジュアルモードやインサートモードでの操作、編集ができます。

コマンドラインウィンドウの開き方
※スクリーンショットを撮ったため、添付画像に<Snapshot>のキー入力が含まれていますが無視してください。
ノーマルモードから開く場合: q:
ノーマルモードからコマンドラインウィンドウはq:で開けます。閉じる時は:qで閉じられます。

コマンドラインモードから開く場合: <C-f>
コマンドラインモードからコマンドラインウィンドウは<C-f>で開けます。
-
:でコマンドラインモードを開く

-
<C-f>でコマンドラインウィンドウを開く

コマンドラインウィンドウでの操作例
ビジュアルモード
コマンドラインウィンドウを開いた後、ビジュアルモード(v)で選択後、以下の画像のようにコマンド履歴をヤンクできます。

インサートモード
コマンドラインウィンドウでインサートモード(i)にしてコマンドを入力後、Enterを押すと入力したコマンドが実行されます。
以下に%s/my-gitconfig/ThisIsSampleText/gを入力して、画像の8行目にある7.my-gitconfigを7.ThisIsSampleTextに置換する例を示します。
- コマンドラインウィンドウを開き、
%s/my-gitconfig/ThisIsSampleText/gを入力する

- コマンドラインウィンドウのインサートモードのままEnterを押す

画像の8行目の7.my-gitconfigが7.ThisIsSampleTextに置換されたことが分かります。
Discussion