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)