モード関連
ノーマルモード
入力モード(i)→ESC
コマンドモード(:)→ESC
ビュジュアルモード(v)→ESC 選択モード
ファイルの保存・読み込み(コマンドモード)
:w 上書き保存
:w **.php 名前をつけて保存
:q 終了
:q! 変更を無視して終了
:e **.php 別のファイルを開く
移動系コマンド(ノーマルモード)
gg 一番上の行へ
G 一番下の行へ
CTRL+f 画面移動
CTRL+b 画面戻る
w 単語単位で移動
b 単語単位で戻る
^ 行頭に移動
$ 行末に移動
f+文字 文字までジャンプ、「;」で次の文字までジャンプ
% かっこの上で「%」入力→対応するかっこまで移動
選択系コマンド(ビジュアルモード)
v 文字単位のビジュアルモード・選択
V 行単位のビジュアルモード・選択
CTRL+v 矩形単位のビジュアルモード・選択
全選択 gg V G
カット(削除)、コピー、貼付け(ノーマルモード)
x 1文字カット(削除)
dd 1行カット(削除)
5dd 5行カット(削除)
p 貼付け
yy コピー
3yy 3行コピー
検索(ノーマルモード)
/+文字
n 下方向に検索
N 上方向に検索
* 今カーソルがある位置の単語を上検索(完全一致)
# 今カーソルがある位置の単語を下検索(完全一致)
置換(ノーマルモード)
:s/置換する文字/置換後の文字/
:s/i/I/g カーソルがある行を一気に置換)
:%s/i/I/g 全てを一気に置換
:%s/i/I/gc 全てを一気に置換(一つずつ確認)
undo関連
undo u 元に戻す(何度でも戻れる)
redo CTRL+r (undoを元に戻す)
ウィンドウ分割(コマンドモード)
:sp 縦に並べて分割
CTRL+w w ウィンドウ間の移動
:vs 横に並べて分割
:close ウィンドウを閉じる
タブ(コマンドモード)
:tabnew 新しいタブを作る
:tabe ***.php ファイルを指定して開く
gt タブ間を移動
:tabclose タブを閉じる
vimを起動する時にタブを開く
vim -p **.php **.php タブ2つ開く
:tabdo %s/html/HTML/g 全てのタブで置換
直前の動作を繰り返す
.(ピリオド)
インデントを揃える
=(イコール)
gg V G =(全選択してイコール)
補完機能
CTRL+n(長い変数名など、入力途中に「CTRL+n」と入力すると補完)
矩形選択後に編集
CTRL+v(矩形選択)→ I(挿入モード)→ 文字入力 →ESC(全て編集される)
CTRL+v(矩形選択)→ x (削除)
テキストオブジェクト(ノーマルモード)文書の構造を見てオブジェクトとして扱う
c/d/y change (delete & insert)
i/a 中身か全体か
t/"/}"] tagなど
設定(コマンドモード)
:set number (行番号を表示)
:set nonumber (行番号を非表示)
:syntax on (コードを色分け)
:syntax off (色分け終了)
:set tabstop=8 (タブの文字数を規定)
:set ignorecase (検索の時に大文字・小文字の区分けしない)
:set noignorecase (小文字だけに戻す)