vi 入門
2000/12/15 written by S.Ushimaru
2009/6/16 modified by C.Egami
2015/10/13 modified by S.Ushimru
○ vi の難点
熟れるまでがとっつきにくい。
○ vi の利点
UNIX 標準のエディタ X ウィンドウ上でなくても利用できる。
軽快(起動がメチャ早い) 熟れると操作性は抜群 実は結構多機能
=> プログラミングには、vi が最適
-------------------------------------------------------------------------
これだけ知っていれば使える!
-------------------------------------------------------------------------
1. コマンドモードと編集モード
vi にはコマンドモードと編集モードの2つがある。
コマンドモードでは、文字・行の削除、コピー、文字列検索、置換、ファイ
ルへの保存などを行う。
2. 起動
vi <ファイル名>
(起動時にファイル名を指定しなかった場合は、ファイルの書き込みの際にファイル名を指定する。)
3. カーソルの移動
矢印キーを使えば、コマンドモードでも編集モードでもカーソル位置を移動できる
コマンドモードであれば、h,j,k,l キーで、
h(左)、j(下)、k(上)、l(右)
というカーソルの移動ができる。
4. コマンドモードへの復帰
Esc を押すとコマンドモードへ戻る。
--- 以下の 5 ~ 13 の操作はコマンドモードで行うものである。----------
5. 編集モードへの移動
編集モードへ入るには、次の3(4)つがある。
"i" カーソルのある位置に文字を入力できる状態になる。
"a" カーソルのある位置から右側に文字を入力できる状態になる。
(行の最後から入力したい場合に使う)
"o" カーソルの行の一行下に、新しい行をオープンし、文字入力できる状態になる。
"O" カーソルの行の一行上に、新しい行をオープンし、文字入力できる状態になる。
6. 文字と行の削除
"x" x をタイプすると、カーソル上の文字が削除される。
3x とタイプすると、カーソル上の文字と含めて右側3文字が削除される。
"dd" dd をタイプすると、カーソルのある行が削除される。
5dd とタイプすると、カーソルのある行を含めて下側5行が削除される。
"J" J をタイプすると、その行の改行コードが削除される。(行と行をつなげる)
7. 行のコピー
"yy" yy をタイプすると、カーソルのある行がコピー対象となる。
4yy とタイプすると、カーソルある行を含めて下側4行がコピー対象となる。
"p" コピーしたい位置にカーソルを移動させ、p をタイプすると直前指定
したコピー対象の行が、その行の後にコピーされる。
"P" コピーしたい位置にカーソルを移動させ、P をタイプすると直前指定
したコピー対象の行が、その行の前にコピーされる。
X Window 上であれば、対象の領域をマウスで反転させて、入力モードで、
マウスの中クリックを行って、コピーすることもできる。
8. やりなおし(Undo)
"u" u をタイプすると、編集操作の前の状態に戻すことができる。
9. ファイルへの保存と終了
"ZZ" ZZ とタイプすると、編集したファイルを保存して、vi を終了する。
":wq" :wq とタイプすると、編集したファイルを保存して、vi を終了する。
":q!" :q! とタイプすると、編集したファイルを保存せずに、vi を終了する。
":w" :w とタイプすると、編集中のファイルを保存する。
:w <ファイル名> とすると、指定したファイル名に保存する。
10. 文字の検索
"/serach_char" / の後に、検索したい文字を入力し、Enter キーを押す。
n を押すと続けて検索する。N を押すと前方へ検索する。
11. 文字列の置換
:置換をはじめる行,終了する行s/置換前の文字/置換後の文字/オプション
(例) 10行目から最後の行までを対象に、abc を ABC に、確認なしに置き換える。
:10,$s/abc/ABC/g
(例) 文章全体を対象に、abc を ABC に、事前確認ありで置き換える。
:%s/abc/ABC/gc -> y:置換する
n:置換しない
a:全て置換
q:置換中止
12. 行番号の表示
:set number
とタイプすると左端に行番号が表示される。
13. 指定行へのジャンプ
:10 10行目にカーソルを移動する。
:23 23行目にカーソルを移動する。
------(ここまではコマンドモードの操作)------------
14. 日本語入力
編集モードで半角/全角キーを押せば日本語入力が可能となる。
再度半角/全角キーを押すと通常の英数字入力となる。
15. swap ファイルの削除
vi で編集中のウィンドウ端末を突然(viを終了せずに)閉じてしまった場合、編集中の
ファイル情報を保持している swap ファイルが残ってしまい、次に同じファイルを編集
しようとした場合、このファイルを削除しないと編集できない。
このファイルを削除するには、vi でファイルを開いたときに"D"をタイプすればよい。
また、"q"とタイプして vi を終了した後、rm コマンドで削除することもできる。
(例) abc.c.のスワップファイルを削除する場合
rm .abc.c.swp (スワップファイルのファイル名は .ファイル名.swp)