OpenWindows ユーザーズガイド (上級編)

セッションの終了

vi でファイルを編集する場合は、ファイルそのものが直接変更されるのではなく、vi が一時メモリ内に作成するファイルのコピー (バッファと呼ばれる) が変更されます。ディスク上にある恒久的なファイルのコピーは、バッファの内容を書き込んだ (保存した) ときだけ変更されます。

この方法には長所と短所があります。編集セッション中の変更内容をすべて破棄し、ディスク上のファイルに影響を与えずにファイル編集を中止することができる反面、システムがクラッシュした場合は、保存していないバッファの内容が失われてしまうことになります。特に、電話回線で接続されたリモート端末上の vi ユーザは、予期しない障害にさらされる危険があります。

特に重要な変更を行う場合などは、ファイルを頻繁に保存することをお勧めします。


注意 - 注意 -

同一ファイルに対して複数の vi セッションを同時に実行することはできますが、あまりお勧めできる方法ではありません。ファイルに書き込まれた変更と他の同時セッションによって上書きされた変更とを見分けることは、非常に困難です。


ファイルの保存と vi の終了

vi には、バッファの内容の保存と vi の終了を制御する類似の意味を持つコマンドがいくつかあります。これらのコマンドを使うと、「ファイルの保存」、「保存と終了」、「保存しないで終了」などを選択できます。

保存

バッファの内容を保存する (バッファの内容をディスク上のファイルに書き込む) には、次のように入力して Return キーを押します。

:w

保存と終了

ファイルを保存して vi を終了するには、次のように入力して Return キーを押します。

:wq

上記の代わりに、ZZ を続けて押してもかまいません。

ZZ コマンドについては、前にコロンを入力する必要も、Return キーを押す必要もありません。

保存しないで終了

ファイルを変更していない場合は、次のように入力して Return キーを押せば vi を終了できます。

:q

ファイルを変更した場合は、:q コマンドでは vi を終了できません。:q と入力すると、「変更後保存していません (:quit! で強制実行します)。」というメッセージが表示されます。

変更内容を保存しなくてもよい場合は、次のように入力して Return キーを押します。

:q!