.. _my_how_to_use_vi_section: vi使用方法 ============== ここでは簡単なviの概念・使用方法について述べる. viとは ------ viとはunix付属のテキストエディタである.他のエディタ(emacs, メモ帳,秀丸など)と異なるのは,カーソルの移動やコピー&ペーストを行うコマンドモードと文字入力を行う入力モードに分かれていることである.つまり,いつでも文字を入力できるのではない. .. figure:: ./fig/outline-vi.png :width: 400px :alt: vi 図:viにおけるモード選択 viの起動 -------- viの起動は * *vi ファイル名* である.test.txtを開く/作成する場合は * *vi test.txt* となる. 文字入力 -------- コマンドモードの時(コマンドモードか入力モードか分からない時には,[ESC]を押してコマンドモードにしておく),文字挿入コマンドを押して入力モードにする. .. list-table:: 表:文字入力 :header-rows: 1 * - コマンド - 挿入場所 * - i - カーソル前 * - a - カーソル後 * - o - 次の行(新しく行を作成) * - I - 行先頭 * - A - 行末尾 * - O - 前の行(新しく行を作成) カーソルと場所の関係を図にすると以下のようになる. .. figure:: ./fig/vi-insert.png :width: 300px :alt: input command 図:文字挿入の位置 カーソルの移動 -------------- コマンドモード時にカーソルを移動するコマンド. .. list-table:: 表:移動コマンド :header-rows: 1 * - コマンド - 移動方向 * - h - 左 * - l - 右 * - k - 上 * - j - 下 前に文字をつけると一度に複数移動する.例えば,3hとすると左に3つ移動する. 文字のカット・ペースト ----------------------- コマンドモード時に文字を消す(入力モードでバックスペースでも可) .. list-table:: 表:文字整形コマンド :header-rows: 1 * - コマンド - 処理 - 補足 * - x - 1文字削除 - 3xなど前に数字をつけると3文字(その数字分)削除 * - dd - 行削除 - 2ddなど前に数字をつけると2行(その行数分)削除 * - yy - 行コピー - 2yyなど前に数字をつけると2行(その行数分)コピー * - p - 貼り付け - * - u - 操作のやり直し - ただし一回のみ テキストの保存と終了 -------------------- コマンドモード時にファイルへの保存, viの終了 .. list-table:: 表:保存と終了 :header-rows: 1 * - コマンド - 処理 * - q - 終了 * - w - 保存 各種便利設定 ------------- 設定ファイルに記述しておくと起動時に有効となる. 設定ファイル ^^^^^^^^^^^^ * Vim on Windows * _vimrc * プログラムと同じ場所? 設定項目 ^^^^^^^^ set backupcopy=yes Samba経由でハードリンクしたファイルを編集するとリンクが切れる問題への対処 map :bp map :bn map :ls バッファの切り替えを矢印キーで行う.