第 14章テキストエディタ

14.1. テキストファイルの編集【vi】

vi とは、UNIX や Linux で使用されている事実上の標準エディタです。実際には、nvi や vim といったさまざまなクローンが存在しますが、操作方法は基本的に統一され一般的に vi と呼ばれています。vi はコンソールで操作するので、使用方法に多少の癖があり、最初は戸惑うかもしれませんが、ファイルを参照したり /etc ディレクトリ以下の設定ファイル等を編集する際に非常に便利ですのでぜひともマスターしておきたいエディタです。また、コンソール上で動作するのでネットワーク上のコンピュータに telnet や ssh でリモートログインしている状況や、Xの起動できない状況であってもそのコンピュータに存在するファイルを編集できできる点も非常に便利です。

以下より vi の基本操作について説明します。

vi を起動するには、以下のコマンドを実行します。

# vi[ファイル名]

例えば、カレントディレクトリにある sample.txt ファイルを開くには、次のコマンドを実行します。

# vi sample.txt

存在しないファイル名を指定した場合やファイル名を省略した場合は、新規文書として起動します。

vi には、モードという概念が存在します。基本的には、文字入力などのファイル編集を行う“編集モード”とファイルに対してどのような処理をするかのコマンドを指定する“コマンドモード”です。“編集モード”から“コマンドモード”へは [Esc]キー によって切り替えます。

起動した状態では、コマンドモードになっていますので、文字を入力するには ai をタイプして編集モードに切り替えます。再びコマンドモードに戻るには[Esc]キーを押します。

以下に vi 上で操作する基本的なコマンドを示します。

表 14-1. vi のキー操作

モード[Esc]モードの切り替え
文字の入力aカーソルの右から入力を開始
iカーソルの左から入力を開始
o次行を追加して入力を開始
rカーソル位置の1文字を置換え
Rカーソル位置から置換え
文字の削除xカーソルの位置の文字を削除
ddカーソルの行を削除
変更の取り消しu直前の変更を取り消す
カーソル操作h または[←]左に移動
j または[↓]下に移動
k または[↑]上に移動
l または[→]右に移動
[Ctrl] + f次の画面へスクロール
[Ctrl] + b前の画面へスクロール
0行の先頭へ移動
$行の末尾へ移動
検索/文字列カーソルより後の文字列を検索
?文字列カーソルより前の文字列を検索
n/文字列で検索したときは、後方へ検索を繰り返す(?文字列で検索したときは逆)
N/文字列で検索したときは、前方へ検索を繰り返す(?文字列で検索したときは逆)
保存:wファイルを保存
:w ファイル名指定したファイル名で保存
:q!ファイルの変更を破棄して終了
:w!ファイルを上書き保存
:wq!ファイルを上書き保存して終了