コマンドライン履歴を利用する
この記事では、コマンドライン履歴を利用する方法について説明します。
コマンドライン履歴とは、exコマンドや検索テキストの入力履歴のことです。 つまり、過去に最下行で入力したexコマンドや検索テキストの蓄積です。 具体的には、:(コロン) コマンドで入力したexコマンド、/(スラッシュ) や、?(クエスチョン) コマンドで入力した検索テキストが該当します。
蓄積されたコマンドライン履歴を再利用することで、入力の手間を短縮することができます。
なお、この記事では前章で作成した以下のテキストを例に操作を説明します。
- The quick brown fox jumps over the lazy dog.
- Above is an English-language pangram phrase.
互換性をオフにしておく
コマンドライン履歴は、互換性がオフになっていなければ利用することができません。 本ウェブサイトの記事に従って作業を進めた場合は、互換性はオンになっています。
では、一時的に互換性をオフにしましょう。 互換性のオフは、設定項目 "nocompatible" で制御します。
キーボードから :set nocompatible<Enter> を入力してください。
:set nocompatible<Enter>
これで互換性がオフになり、拡張機能が使えるようになります。
コマンドライン履歴の蓄積と再利用
今までは、互換性がオンになっていました。 よって、コマンドライン履歴は全く蓄積されていません。
まずは、exコマンドを実行してコマンドライン履歴を蓄積しましょう。

上図のように文字カーソルは文書の先頭にあると仮定して説明を始めます。
ここでは、現在の行を対象に "dog" を "dogs" に置換しましょう。
キーボードから :s/dog/dogs/<Enter> を入力してください。
:s/dog/dogs/<Enter>

上図のように"dog" が "dogs" に置換されます。
続いて、同じく1行目を対象に、空白を "@"(アットマーク) に置換してみましょう。
キーボードから :s/ /@/g<Enter> を入力してください。
:s/ /@/g<Enter>

上図のように空白 が "@"(アットマーク) に置換されます。
では、2行目も同様の置換を行いましょう。 まずは、2行目に移動します。
キーボードから j を入力してください。
j

上図のように文字カーソルが1行下に移動します。
では、この行でも1行目と同じ置換を行いましょう。 ただし、コマンドを入力するのではなく、蓄積された履歴を呼び出して再利用します。
キーボードから : を入力してください。
:

上図のように最下行でexコマンドを入力可能な状態になります。
この状態でコマンドライン履歴を呼び出すことができます。 まずは、前のコマンドを呼び出しましょう。
コマンドライン履歴から前のコマンドを呼び出すには CTRL + P コマンドを使います。

では、実際にコマンドライン履歴から前のコマンドを呼び出しましょう。
キーボードから CTRL + P を入力してください。
<C-p>

上図のようにコマンドライン履歴から前のコマンドが呼び出されます。
では、さらに前のコマンドを呼び出しましょう。
キーボードから CTRL + P を入力してください。
<C-p>

上図のようにコマンドライン履歴からさらに前のコマンドが呼び出されます。
では、逆方向である次のコマンドを呼び出してみましょう。
コマンドライン履歴から次のコマンドを呼び出すには CTRL + N コマンドを使います。

キーボードから CTRL + N を入力してください。
<C-n>

上図のようにコマンドライン履歴から次のコマンドが呼び出されます。
では、このコマンドを実行しましょう。 キーボードから <Enter> を入力してください。
<Enter>

上図のように空白 が "@"(アットマーク) に置換されます。
テキスト検索でも同様の手順
今回はexコマンドでのコマンドライン履歴の使い方を説明しました。 テキスト検索でも、同様の操作でコマンドライン履歴を利用することができます。
なお、/(スラッシュ) での前方検索と、?(クエスチョン) コマンドでの後方検索は、同じ履歴を共有しています。





