かわろぐ

技術、セキュリティ、その他もろもろ

MENU

Vimのコマンド履歴が便利だった

Vimを終了させるために :q とタイプするはずが、 q: とミスタイプして出てしまうコマンド履歴のウインドウ。結構イラッとするんですよね。でも実際に使ってみると意外と便利なやつでした。
今回はコマンド履歴の使い方についてまとめます。

環境

  • Vim 7.4
  • NeoVim  0.4.4

邪魔だったコマンド履歴が実は便利だった

以前実行した検索や置換などのコマンドをそのまま再実行したい時や、少し編集して再実行したい時にとても便利でした。

コマンド実行履歴の表示

コマンド実行履歴のウインドウを表示するには、ノーマルモードで以下のコマンドを入力します。

q:

するとデフォルトでは画面下部に以下の図のように、ウインドウ分割されコマンド実行履歴のウインドウが表示されます。

vim のコマンド実行履歴ウインドウ

コマンド実行履歴から再実行する方法

コマンド実行履歴ウインドウも Vim なので、 k で再実行したいコマンドの行に行き、Enter ( < CR > )で再実行出来ます。

実行履歴からEnterで再実行できない場合の別の方法

しかし、私は以下の様にノーマルモードでの < CR > を以下のようにリマップしてしまっており、 < CR > を入力することが出来ません。

" ノーマルモードでEnterキー入力で改行する
nmap <CR> o<ESC>

どう回避しているかというと Ctrl + c で一度コマンドラインに送ってからEnterで実行しています。この方法の方が実行まえに修正することもできるので、似たような検索、置換などを複数回するときに重宝しています。