このページの本文へ

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

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

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

文● 山岸典将

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

viの起動方法は、想像通り、コマンドラインでviのあとに編集するファイル名をタイプするだけだ。

$ vi foo.txt

すると、画面1のような状態で立ち上がる。

画面1
画面1 立ち上げ直後のvi

立ち上げてすぐの状態は、コマンドモードになっている。そこでまず、[i]をタイプして入力モードに入り適当な文字をタイプしてみよう。気をつけてほしいのは、viはコマンドの大文字と小文字を区別するということ。つまり[i]と[I]は別のコマンドになってしまうということだ。

入力モードの時は最下行に、“INSERT”の文字が表示される(画面2)。もっとも、これは本来のviの機能ではない。実はこのviはVIMというviクローンで、モードの表示はVIMの拡張機能だ。Red Hat Linux 6.0、LASER5 Linux 6.0 Rel.2、TurboLinux 4.5などではこのVIMをviとして使っている。もし使っているviがVIMでない場合、モードの表示はされない。

画面2
画面2 入力モードのときは最下行に[INSERT]と表示される

では、できあがったファイルを保存しよう。今は入力モードなので、Escキーをタイプしてコマンドモードに戻る。そし て保存するには、[:w]とタイプしよう(画面3)。

画面3

保存したら、続きを打ち込むことにしよう。[i]とタイプして、なにか1文字タイプしてみると、最後の1文字の前にタイプした文字が挿入されてしまう。実は、ここで続きをタイプするのに[i]コマンドは使えない。

先ほど説明した[i]コマンドは“insert”の略で、カーソルのある部分に文字を挿入するコマンドなのだ。それでは、文章の最後に文字を追加するにはどうすればよいのだろう。追加は“append”、そう、コマンドモードで[a]をタイプすればカーソルの後に文字を追加できる(図2)。

図2
図2 [i]コマンドはカーソル位置に挿入、[a]コマンドはカーソル位置のうしろに追加する

では、まず今間違って入力してしまった文字を消そう。まだ、入力モードにいるなら、[Ctrl]-[h]をタイプすると直前にタイプした文字を消すことができるが、ここでEscキーをタイプして、コマンドモードに移ってしまった場合は、どうするか。カーソル位置にある文字を消すには[x]をタイプすればよい。

間違った文字を消したら、コマンドモードで[a]を押して、続きを打ち込もう。

さて、なにか打ち込んだら、今度は、いったん終了する。まず、コマンドモードに戻る。そして今まで編集したファイルをセーブして終了するなら[:wq]+Enter、編集結果を破棄するなら[:q!]+Enterとタイプすればよい。もし、なにも編集していなければ[:q]+Enterだけで終了する。

週刊アスキー最新号

編集部のお勧め

ASCII倶楽部

ASCII.jp Focus

MITテクノロジーレビュー

  • 角川アスキー総合研究所
  • アスキーカード
ピックアップ

デジタル用語辞典

ASCII.jp RSS2.0 配信中