vi使用方法

ここでは簡単なviの概念・使用方法について述べる.

viとは

viとはunix付属のテキストエディタである.他のエディタ(emacs, メモ帳,秀丸など)と異なるのは,カーソルの移動やコピー&ペーストを行うコマンドモードと文字入力を行う入力モードに分かれていることである.つまり,いつでも文字を入力できるのではない.

vi

図:viにおけるモード選択

viの起動

viの起動は

  • vi ファイル名

である.test.txtを開く/作成する場合は

  • vi test.txt

となる.

文字入力

コマンドモードの時(コマンドモードか入力モードか分からない時には,[ESC]を押してコマンドモードにしておく),文字挿入コマンドを押して入力モードにする.

表:文字入力
コマンド 挿入場所
i カーソル前
a カーソル後
o 次の行(新しく行を作成)
I 行先頭
A 行末尾
O 前の行(新しく行を作成)

カーソルと場所の関係を図にすると以下のようになる.

input command

図:文字挿入の位置

カーソルの移動

コマンドモード時にカーソルを移動するコマンド.

表:移動コマンド
コマンド 移動方向
h
l
k
j

前に文字をつけると一度に複数移動する.例えば,3hとすると左に3つ移動する.

文字のカット・ペースト

コマンドモード時に文字を消す(入力モードでバックスペースでも可)

表:文字整形コマンド
コマンド 処理 補足
x 1文字削除 3xなど前に数字をつけると3文字(その数字分)削除
dd 行削除 2ddなど前に数字をつけると2行(その行数分)削除
yy 行コピー 2yyなど前に数字をつけると2行(その行数分)コピー
p 貼り付け  
u 操作のやり直し ただし一回のみ

テキストの保存と終了

コマンドモード時にファイルへの保存, viの終了

表:保存と終了
コマンド 処理
q 終了
w 保存

各種便利設定

設定ファイルに記述しておくと起動時に有効となる.

設定ファイル

  • Vim on Windows
    • _vimrc
      • プログラムと同じ場所?

設定項目

set backupcopy=yes

Samba経由でハードリンクしたファイルを編集するとリンクが切れる問題への対処

map <LEFT> <ESC>:bp<CR>

map <RIGHT> <ESC>:bn<CR>

map <UP> <ESC>:ls<CR>

バッファの切り替えを矢印キーで行う.