vimのコマンドをまとめておく。
ここの.vimrcを設定した場合のコマンド集。
一部プラグインを用いているのでリンク先を参照していただければ。
プラグイン管理にはdein.vimを使っている。
設定方法に関しても書いているがかなり前のものなので動くか怪しい...(一応以下にリンク)
モード
| モード |
コマンド |
挙動 |
| インサートモード |
a |
カーソルの右側にインサートモード |
|
i |
カーソルの位置からインサートモード |
|
A |
行末に移動しインサートモード |
|
I |
行頭に移動しインサートモード |
|
o |
現在の行の下に改行しインサートモード |
|
cc |
1行を削除してインサートモード |
| ビジュアルモード |
v |
ビジュアルモードへ |
|
Ctrl + v |
矩形選択のビジュアルモードへ |
|
V |
カーソルがある行を選択してビジュアルモード |
| その他 |
ESC |
コマンドモードに戻る |
|
Ctrl + l |
コマンドモードに戻る |
|
Ctrl + z |
vimを一時停止する |
移動
| コマンド |
挙動 |
| j |
下に移動 |
| k |
上に移動 |
| h |
左に移動 |
| l |
右に移動 |
| w, W |
次の単語の先頭に前進 |
| b, B |
現在の単語もしくは前の単語の先頭に後退 |
| e, E |
単語のendまで前進 |
|
※大文字: ドットやコロンのような記号も一続きの単語とみなして移動 |
| H |
ウィンドウ内の一番上の行に移動 |
| M |
ウィンドウ内の真ん中の行に移動 |
| L |
ウィンドウ内の一番下の行に移動 |
| gg |
ページの先頭に移動 |
| G |
ページの最後に移動 |
| "数字"G, :"数字" |
"数字"行に移動 |
| zz |
現在のカーソル位置を中央となるように画面がスクロール |
| zt |
現在のカーソル位置が一番上となるように画面がスクロール |
| Ctrl + u |
半画面分戻る |
| Ctrl + d |
半画面分進む |
| Ctrl + b |
1画面分戻る |
| Ctrl + f |
1画面分進む |
| ^, O |
行頭へ移動 |
| $ |
行末へ移動 |
| % |
対応するカッコに移動 |
| Ctrl + o |
古いカーソル位置に戻る |
| Ctrl + i |
新しいカーソル位置に進む |
| f"文字" |
カーソルがある行の"文字"に移動 |
| F"文字" |
カーソルがある行の"文字"に移動(逆向き) |
削除
| コマンド |
挙動 |
| dd |
カーソルがある行を削除 |
| :"行番号"d |
特定の行を削除 |
| "数字"dl |
"数字"文字削除 |
| diw |
カーソル上の単語を削除 |
| di" |
ダブルクウォーテーションの内部を削除 |
| dit |
HTMLタグの内部を削除 |
| ciw |
カーソル上の単語を削除してインサートモード |
| ci" |
ダブルクウォーテーションの内部を削除してインサートモード |
| cit |
HTMLタグの内部を削除してインサートモード |
| x |
1文字削除 |
| D |
カーソル位置から行末まで削除 |
| C |
カーソル位置から行末まで削除してインサートモード |
undo&redo
| コマンド |
挙動 |
| u |
udno |
| Ctrl + r |
redo(undoをundo) |
コピー&ペースト
| コマンド |
挙動 |
| yy |
今いる行をコピー(ヤンク) |
| "数字"yl |
"数字"文字だけコピー(ヤンク) |
| yiw |
カーソル上の単語をコピー |
| yi" |
ダブルクウォーテーションの内部をコピー |
| yit |
HTMLタグの内部をコピー |
| p |
カーソルに下にヤンクした行をペースト |
| "数字"p |
カーソルの下にヤンクした行を"数字"行追加する |
検索と置換
| コマンド |
挙動 |
| * |
カーソル下の単語を検索 |
| # |
カーソル下の単語を検索(上方向に検索) |
| /"文字" |
"文字"を検索する。(本来は:%s/"hoge"/&/gnで検索) |
| :%s/hoge/huga/g |
単語の置換(hogeをhugaへ置換)。/と打てば:%s//&/gnと出てくる。 |
ウィンドウ&タブ
以下の設定を.vimrcなどに書くことで画面分割が手軽に行えるようになる
nnoremap sv :<C-u>vs<CR>
nnoremap ss :<C-u>sp<CR>
nnoremap st :<C-u>tabnew<CR>
nnoremap sn gt
nnoremap sp gT
nnoremap sq :<C-u>q<CR>
| コマンド |
挙動 |
| sv |
画面を左右に分割する |
| ss |
画面を上下に分割する |
| st |
新しいタブを開く |
| sn |
次のタブに移動 |
| sp |
前のタブに移動 |
| sq |
タブを閉じる |
バッファ
| コマンド |
挙動 |
| :buffes |
編集中のバッファ一覧を表示 |
| :bn |
次のバッファに移動 |
| :bd[elete] |
バッファを削除 |
ファイル関連
| コマンド |
挙動 |
| sq |
閉じる |
| :w |
保存 |
| :q |
閉じる |
| :q! |
強制終了 |
| :e "file name" |
"file name"を開く |
その他