前回は,ファイルを開いて編集し,保存して閉じる(viを終了する)という一連の操作の流れを解説しました。解説したといっても,viを起動してからファイルを開く方法や別名で保存する方法など,Windowsのメモ帳が備える機能の説明をしていません。“viでメモ帳と同等のことができる”という本連載の目標からすると,説明すべき機能です。

 しかし,多少の不便を甘受すれば,これらのやり方を知らなくてもなんとかなってしまいます。それよりも,viにはもっと知っておかなければならないことがいくつもあります。まずはそれらを説明していきましょう。

 今回解説するのは「コピー・アンド・ペースト」(テキストの張り付け)です。前回,マウスが使えるなら範囲を選択してコピーし,挿入モードでペーストできると説明しました。この機能は,viが備えるものではないため,動作環境によってはコピー・コマンド・ペーストできないことがあります。また,コピーではなくカット(切り取り)しようと思ったら,コピーした後に[Delete]キーや[BackSpace]キーをひたすら押し続けて元のテキストを消さなければなりません。さすがに,これを不便に思わない方はあまりいないでしょう。

行単位のコピー,カット,ペースト

 行単位でコピー(またはカット)するには,まずコピー(またはカット)したい行にカーソルを移動します。行中の位置はどこでも構いません。移動させたら,通常モードで表1に示したキーを押します。

表1●行のコピー,カット,ペースト
操作内容 入力
行のコピー [y]キーを2回押す
行のカット [d]キーを2回押す
ペースト [p]キーを押す

 コピーの場合は[y]キーを2回押しても,特に何もメッセージが表示されないので見た目の変化はありません。しかし,しっかりと選択した個所のコピーはできています。

 コピー(またはカット)したら,張り付けたい行の前の行にカーソルを移動します。移動したら[p]キーを押します。すると,カーソルの下の行にコピー(またはカット)した行がペーストされます。なお,カーソルはペーストしたい前の行にあれば,行頭,行中,行末のどの位置でも構いません。

複数行に対する操作

 1行だけのコピー(またはカット)する方法を紹介しましたが,複数行まとめてのコピー(またはカット)も可能です。この場合,コピー(またはカット)する前に,コピー(またはカット)したい行数を指定します。

 例えば,3行コピーしたいのなら「3」を入力してから[y]キーを2回,10行カットしたいのなら「10」を入力してから[d]キーを2回押します。コピー(またはカット)した行をペーストするやり方は,1行のコピーまたはカットとまったく同じで,[p]キーを押すだけです。

 コマンドの前に数字を指定できるのはコピー(またはカット)のときだけではありません。通常モードで使用できるコマンドの多くは,その前に数字を指定できます。例えば,[p]キーを押す前に数字を指定すると,どうなるかはあえて書きませんが,なんとなく予想はつくでしょう。

 この繰り返し回数の指定が,viを便利なエディタとして使うための大きな要因です。頭の片隅に留めておいてください。