このページの本文へ

UNIX界でもっともベーシックなエディタvi。これを覚えれば設定ファイルももう恐くない。

覚えておきたい必須コマンド30―その6・vi、最初の一歩

2001年07月13日 06時19分更新

文● 山岸典将

  • この記事をはてなブックマークに追加
  • 本文印刷

さて、カーソルの移動方法がわかれば、あとは[i][a]で文字を追加し、[x]で消去していけば、ある程度の編集ができるはずだ。しかし、今まで覚えたコマンドではどうしてもできないことが、いくつかある。

まず、2つの行をつなぐコマンドだ。ほかのエディタでは、カーソルが行末の文字がない部分に移動するので、そこを削除すれば、次の行がつながってくれるが、viではカーソルをそこに移動することはできない。

そこで、使われるのが大文字の[J]コマンド(join)だ。[J]をタイプすると改行が削除され、次の行が行末にくっつくことになる。この時注意してほしいのは、今いる行と、追加された行の間にはスペースが1つ入るということだ。このスペースは適宜[x]で削除しよう。

さらに、日常的にエディタを使ううえでは、カット&ペーストも必修項目だろう。

行を削除する場合は、[dd]コマンドを使う。そして[dd]コマンドをタイプすると、削除された行はviの内部に保存される(Windowsのカット、[Ctrl]-[x]と同じだ)。その行を別のところに貼り付けたいならば、その場所にカーソルを移動して大文字の[P]をタイプすると、カーソルのある行に削除した行が挿入される。ここで[P]の代わりに小文字の[p]を使うと、カーソルのある行の下に挿入されることになる。

もし、もとの行を削除せずにコピーしたい場合は、[yy]コマンドを使う。コピーしたい行で[yy]をタイプし、貼り付けは同じく[P]か[p]を使う(図4)。

図4
図4 カット/コピー&ペースト

これら[dd][yy]のコマンドも、コマンドの前に削除、コピーしたい行数を指定することができる。そして複数の行が削除されれば、もちろん[P]/[p]コマンドで複数の行が貼り付けられる。

なお、[P]/[p]コマンドでは[x]で削除した文字を貼り付けることもできる。この場合、[P]コマンドではカーソル位置に、[p]コマンドではカーソル位置の後に貼り付けられることになる。

ピックアップ

デジタル用語辞典

ASCII.jp RSS2.0 配信中