チュートリアル $ vimtutor
各モード
入力モード (i) → ESCで戻る
コマンドモード (:) → ESCで戻る
ビジュアルモード (v) → ESCで戻る
範囲選択ができる
よく使うコマンド
vim終了 (:q)
上書き保存 (:w)
名前をつけて保存 (:w 新しいファイル名)
e.g.):w index2.html変更を保存せずに強制的に終了 (:q!)
他のファイルを開く (:e ファイル名)
操作の取り消しとその逆 (u/control + r)
直前の操作を繰り返す (.)
移動系コマンド
上下左右 (k/l/j/h)
先頭に戻る (gg)
最後尾に行く (G)
画面単位の移動 (control + f/control + b)
単語単位の移動 (w/b)
行頭/行末へ移動 (^/$)
行きたい文字列までジャンプ (f + 文字列)
テキスト編集コマンド
カット (x/dd/5dd)
ddで行単位カット,x/ddの前に数字で文字数/行数指定カットコピー (yy/3yy)
貼り付け (p)
検索・置換コマンド
検索 (/検索語)
検索語が複数ある場合は(n/N)で上下にカーソル移動。今カーソルの下にある単語と同じ語句を検索 (*/#)
*で上に#で下に。同じ行の置換 (:s/検索語/置換語)
同じ行の複数置換 (:s/検索語/置換語/g)
ファイル全体に適用(:%s/検索語/置換語/g)
ファイル全体に適応するが、一つひとつ確認してくる (:%s/検索語/置換語/gc)
複数タブの中身を一斉置換 (:tabdo %s/検索語/置換語)
ウィンドウ関連コマンド
上下に分割 (:sp)
左右に分割 (:vs)
画面間移動 (control + w)
画面を閉じる (:close)
タブを作る (:tabnew)
タブの中でファイルを開く (:tabe ファイル名)
タブを閉じる (:tabclose)
タブの切り替え (gt)
複数ファイルをタブで開く (vim -p file1.html file2.php)
複数タブの中身を一斉置換 (:tabdo %s/検索語/置換語)
プログラミングで使えるコマンド
対応する{}までジャンプ (%)
インデントを整列 (=)
(gg V G)で全選択した後に(=)で全体インデント整列関数などの候補一覧を表示 (control + n)
まとめて挿入
(control + vで選択, Iで一番上に挿入, ESC)タグの中身を変える(c,i,t)
・変更/削除/挿入 (c/d/y)
・中身/全体 (i/a)
・タグ/""/()/[] (t/"/(/[)行番号の表示 (:set number/nonumber)
コードの色分け(:syntax on/off)
タブの間隔を設定(:set tabstop=文字数)
検索で大文字小文字を区別しなくなる(:set ignorecase/noignorecase)
ビジュアルモード
文字単位の選択 (v)
行単位の選択 (V)
矩形選択 (control + v)
テキスト全選択 (gg)(V)(G)
行頭→ビジュアルモード→行末