Vim チートシート
起動
コマンド | 動作 |
---|
vim {path/file} | vim を実行(指定ファイルを開く) |
終了
キー入力 | 動作 |
---|
:q[uit] | 終了 |
:q! | 終了(編集破棄) |
ファイル操作
キー入力 | 動作 |
---|
:e[dit] {path/file} | ファイルを開く(相対ファイルパスを入力。[TAB]で補完入力) |
:e[dit] {path} | ファイルエクスプローラを指定パスでオープン([TAB]で補完入力) |
:e. | ファイルエクスプローラをカレントディレクトリでオープン |
:E[xplore] | アクティブなバッファのディレクトリでファイルエクスプローラをオープン |
:S[explore] | :E の水平分割版 |
:Vexplore | :E の垂直分割版 |
:find | ファイルを検索して開く 検索先は path に予め設定しておく src配下なら :set path+=src/** |
:sav[eas] {path/file} | ファイル名を付けて保存 |
:w[rite] | ファイルの上書き保存 |
モード切替
ノーマルモード
キー入力 | 動作 |
---|
[ESC] [CTRL] + ] | ノーマルモード |
インサートモード開始
キー入力 | 動作 |
---|
i | カーソル位置から |
a | カーソル位置の後ろから |
I | 行頭から |
A | 行末から |
o | カーソル行の下に新規行 |
O | カーソル行の上に新規行 |
C | カーソル位置から行末を削除 |
s | カーソル位置を1文字削除 |
S | カーソル行で新規行 |
置換モード開始
ビジュアルモード開始
※ トグルでノーマルモードと切り替わる
キー入力 | 動作 |
---|
v | 文字指向 |
V | 行指向 |
[CTRL] + v | ブロック指向 |
ビジュアルモード中
キー入力 | 動作 |
---|
gv | 直前の選択範囲を再選択 |
o | 選択範囲の始点と終点をトグルで移動 |
カーソル移動
キー入力 | 動作 |
---|
h | 左 |
j | 下 |
k | 上 |
l | 右 |
w b | 単語の先頭(区切り文字まで) |
W B | 単語の先頭(区切り文字を除く) |
e | 単語の末尾(区切り文字まで) |
E | 単語の末尾(区切り文字を除く) |
gg | ファイルの先頭行 |
G | ファイルの末尾行 |
H | 画面の先頭行 |
M | 画面の中央行 |
L | 画面の末尾行 |
0 | 行頭 |
^ | 行頭(非空白文字) |
$ | 行末 |
gm | 行の中央 |
g_ | 行末(非空白文字) |
% | 対の括弧 |
:{number} | number行 |
'' | ジャンプ前の位置 |
'. | 直前に変更があった位置 |
'^ | 直前に挿入があった位置 |
m{a-zA-Z} | 現在位置をマーク |
'{a-zA-Z} | マークした位置 |
ノーマルモード中の編集
キー入力 | 動作 |
---|
x | 1文字カット |
dd | 1行カット |
. | 直前の変更を繰り返す |
yy | 1行コピー |
p | ペースト(カーソル位置の後) |
P | ペースト(カーソル位置の前) |
u | アンドゥ |
[CTRL] + r | リドゥ |
インサートモード中の編集
キー入力 | 動作 |
---|
[CTRL] + h | 直前の1文字削除 |
[CTRL] + w | 直前の1単語削除 |
[CTRL] + u | 行頭まで削除 |
[CTRL] + r{number} | ペースト |
検索
行内1文字検索
キー入力 | 動作 |
---|
f{char} | 前方検索 |
t{char} | 前方検索(1文字前) |
F{char} | 後方検索 |
T{char} | 後方検索(1文字後) |
; | 次を検索 |
, | 前を検索 |
ファイル内文字列検索
キー入力 | 動作 |
---|
/{pattern} | ファイル内で前方検索 |
?{pattern} | ファイル内で後方検索 |
* | カーソル位置の単語を前方検索 |
# | カーソル位置の単語を後方検索 |
n | 次を検索 |
N | 前を検索 |
置換
文字列置換
キー入力 | 動作 |
---|
:[%]s/{pattern}/{string} | 置換(%なし=前方, %あり=全て) |
1文字(上書き)
キー入力 | 動作 |
---|
r{char} | 1文字上書き(置換モード) |
gr{char} | 1文字上書き(仮想置換モード) |
インデント
準備
:set shiftwidth=4 softtabstop=4 expandtab
キー入力 | 動作 |
---|
> | インデントを下げる |
< | インデントを上げる |
= | 自動インデント |
ウインドウ
キー入力 | 動作 |
---|
[CTRL] + w, s | 水平分割 |
[CTRL] + w, v | 垂直分割 |
[CTRL] + w, c | アクティブウインドウを閉じる |
[CTRL] + w, o | アクティブウインドウだけ残す |
[CTRL] + w, T | アクティブウインドウを新規タブに移動 |
gt | 次のタブに切替 |
gT | 前のタブに切替 |
参考