Viエディタ利用ガイド
viエディタはどんなUnix、Linuxには大抵標準装備されているUnixの代表的なエディタです。
通常Windowsなどで使うエディタと比べると使い勝手が悪く感じますが、Linuxの設定ファイル
などの書き換えに大いに役立ってくれます。
1.起動と終了
viエディタを起動するにはviコマンドに編集したいファイル名を指定します。
viエディタには「入力モード」と「コマンドモード」があり、起動時は「コマンドモード」
となっています。
vi ファイル名 :起動
i :入力モード
Escキー :コマンドモード
:wq! :編集内容を保存して、編集を終了
:w! :編集内容を保存し、編集を継続
:q! :編集内容を保存せず、編集を終了
2.カーソルの移動
他の多くのテキストエディタと異なり、viエディタではカーソルの移動に矢印キーを使いません。カーソルを移動するには、コマンドモードで次のキーを押します。
h :左に1文字移動
j :下に1文字移動
k :上に1文字移動
l :右に1文字移動
0 :カーソルを現在の行の先頭に移動
$ :カーソルを現在の行の末尾に移動
:0 :カーソルを文書の先頭行に移動
:$ :カーソルを文書の最終行に移動
3.テキストの削除
入力モードで文章を入力している際には、BackSpaceキーで直前に入力した文字を1文字ずつ削除できます。
しかしいったん入力した文章を後から訂正する作業は、コマンドモードで行います。
x :カーソル位置の文字を1文字削除する
dw :カーソル位置から次の単語の先頭までを削除
d$ :カーソル位置から行末までを削除
dd :カーソルのある行全体を削除
4.テキストの修正
テキストの修正は、テキストの削除とiの挿入コマンドを用いれば可能ですが、参考程度に紹介します。
r :カーソル位置の文字を1文字変更する
cw :カーソル位置から次の単語の先頭まで変更
c$ :カーソル位置から行末までを変更
cc :カーソルのある行全体を変更
5.テキストの移動・コピー
テキストを別の場所に移動する時には、delコマンドなどで削除します。
削除されたテキストは、次に別のテキストが削除されるまで、一時的にバッファと呼ばれるメモリに格納されます。
記憶されたテキストは、pコマンドを使って、カーソル位置に貼り付けることができます。
p :直前に削除したテキストをカーソル位置に挿入する
6.コマンドの取り消しと繰り返し
直前に言ったテキストの追加や削除、変更などは、次の編集コマンドを実行する前であれば、uコマンドで取り消すことが出来ます。u(undo)
u :直前のコマンドを取り消し
U :現在行を編集前の状態に戻す
.(コンマ) :直前に実行したコマンドをもう一度実行
7.テキストを検索する
大きなファイルを編集する際には、ファイルの中の特定の場所に、すばやくカーソルを移動したいことがあります。
次のコマンドは、ファイルから指定した文字列を探して、その部分にカーソルを移動します。
/検索文字列 :指定した文字列を現カーソルから順方向に検索
?検索文字列 :指定した文字列を現カーソルから逆方向に検索
n :前回の検索文字列を再建策
N :前回の検索文字列を反対方向に再検索
8.高度なviエディタの使い方
指定行への操作
:行番号 :指定した行にジャンプする
:行番号d :指定した行を削除する
文字列の一括置換
ファイル内の文字列を一括置換する:s(substitute)コマンド。
:[行番号] s/検索文字列/置換文字列/ [オプション]
例)
:s/old/new/g :現在行の文字列oldをすべてnewに置換
:20,30 s/old/new/g :20行目から30行目の文字列oldをすべてnewに置換
:%s/old/new/c :ファイル内にある全ての文字列oldを確認をとりながらnewに置換
viの環境設定
viの各種動作の設定を切り替えることが出来ます。
:set オプション
例)
:set autoindent :オートインデントモード
:set ignorecase :検索実行時大文字小文字の区別をしない
:set number :画面の左端に行番号を表示する
:set showmatch :括弧を入力したときに対応する括弧にカーソルをジャンプさせる
:set wrapmargin=桁数 :1行を指定した桁数で自動的に折り返す
:set warpscan :検索の実行時、ファイル全体を対象にする