Vimチート集
モード切替・カーソル移動・編集・検索・ウィンドウ操作・マクロなど Vim の頻出操作。
- 更新日
- 2026-05-29
- 参照範囲
- 公式ドキュメント / man page / 主要ベンダーCLI
- 対象実装
- 主要 Linux / BSD / ネットワーク機器 CLI の一般的な実装
- 免責
- OS とバージョン差分は実環境で確認してください。
このチートシートの使いどころ
Vim チートシートは、vi / Vim のモード切替、移動、編集、検索、置換、ウィンドウ、マクロを日本語で引ける実務向け一覧です。対象は一般的な Vim 8/9 系と vi 互換操作を想定し、プラグイン固有機能は扱いません。サーバー上で急いで設定を直す、ログから一部を抽出する、繰り返し編集を短時間で済ませる場面に向きます。
93 / 93
iカーソル位置の前に挿入モードへ
iaカーソル位置の後に挿入モードへ
aI行頭で挿入モードへ
IA行末で挿入モードへ
Ao下に新しい行を挿入して挿入モードへ
oO上に新しい行を挿入して挿入モードへ
OEscノーマルモードに戻る
Escvビジュアルモード(文字選択)
vVビジュアルモード(行選択)
VCtrl-vビジュアルブロックモード
Ctrl-vR置換モードへ
Rh / j / k / l左/下/上/右に移動
5jw次の単語の先頭へ移動
3wb前の単語の先頭へ移動
2be単語の末尾へ移動
e0行頭へ移動
0$行末へ移動
$^行の最初の非空白文字へ移動
^ggファイルの先頭へ移動
ggGファイルの最終行へ移動
G:{n}指定行番号へ移動
:42Ctrl-f1ページ下にスクロール
Ctrl-fCtrl-b1ページ上にスクロール
Ctrl-b%対応する括弧へ移動
%f{char}行内で次の文字へジャンプ
fat{char}行内で次の文字の手前へジャンプ
taxカーソル位置の文字を削除
xdd行を削除(カット)
3dddw単語を削除
dwd$カーソルから行末まで削除
d$d0カーソルから行頭まで削除
d0yy行をコピー(ヤンク)
5yyyw単語をコピー
ywpカーソルの後にペースト
pPカーソルの前にペースト
Pu直前の操作を取り消し
uCtrl-r取り消しをやり直し
Ctrl-rr{char}カーソル位置の文字を置換
racc行全体を変更(削除して挿入モード)
cccw単語を変更
cwCカーソルから行末まで変更
CJ下の行を現在行に結合
J~大文字/小文字を切り替え
~>>行をインデント
>><<行のインデントを解除
<<.直前のコマンドを繰り返す
./{pattern}前方検索
/error?{pattern}後方検索
?warningn次の検索結果へ移動
nN前の検索結果へ移動
N:s/old/new/現在行で最初の一致を置換
:s/foo/bar/:s/old/new/g現在行で全て置換
:s/foo/bar/g:%s/old/new/gファイル全体で全て置換
:%s/foo/bar/g:%s/old/new/gc確認しながらファイル全体で置換
:%s/foo/bar/gc*カーソル下の単語を前方検索
*#カーソル下の単語を後方検索
#:noh検索ハイライトを消去
:noh:wファイルを保存
:w:w {file}名前を付けて保存
:w newfile.txt:q終了
:q:q!保存せずに強制終了
:q!:wq保存して終了
:wq:x変更があれば保存して終了
:xZZ保存して終了(:xと同じ)
ZZ:e {file}ファイルを開く
:e ~/.vimrc:r {file}ファイルの内容を挿入
:r header.txt:set number行番号を表示
:set number:set pasteペーストモードを有効化
:set paste:set syntax=onシンタックスハイライトを有効化
:set syntax=on:split水平分割
:split file.txt:vsplit垂直分割
:vsplit file.txtCtrl-w w次のウィンドウへ移動
Ctrl-w wCtrl-w h/j/k/l指定方向のウィンドウへ移動
Ctrl-w lCtrl-w =全ウィンドウのサイズを均等化
Ctrl-w =Ctrl-w q現在のウィンドウを閉じる
Ctrl-w q:tabnew新しいタブを開く
:tabnew file.txtgt次のタブへ移動
gtgT前のタブへ移動
gT:tabclose現在のタブを閉じる
:tabclosev + motion文字単位で選択してから操作
vwV + motion行単位で選択してから操作
V5jd (visual)選択範囲を削除
vwdy (visual)選択範囲をヤンク
Vjy> (visual)選択範囲をインデント
V5j>< (visual)選択範囲のインデントを解除
V5j<gv前回の選択範囲を再選択
gvq{reg}マクロの記録を開始
qaqマクロの記録を停止
q@{reg}マクロを再生
@a@@直前のマクロを再実行
@@"{reg}y指定レジスタにヤンク
"ayy"{reg}p指定レジスタからペースト
"ap:reg全レジスタの内容を表示
:reg| Command | Description | Example | Copy |
|---|---|---|---|
i | カーソル位置の前に挿入モードへ | i | |
a | カーソル位置の後に挿入モードへ | a | |
I | 行頭で挿入モードへ | I | |
A | 行末で挿入モードへ | A | |
o | 下に新しい行を挿入して挿入モードへ | o | |
O | 上に新しい行を挿入して挿入モードへ | O | |
Esc | ノーマルモードに戻る | Esc | |
v | ビジュアルモード(文字選択) | v | |
V | ビジュアルモード(行選択) | V | |
Ctrl-v | ビジュアルブロックモード | Ctrl-v | |
R | 置換モードへ | R | |
h / j / k / l | 左/下/上/右に移動 | 5j | |
w | 次の単語の先頭へ移動 | 3w | |
b | 前の単語の先頭へ移動 | 2b | |
e | 単語の末尾へ移動 | e | |
0 | 行頭へ移動 | 0 | |
$ | 行末へ移動 | $ | |
^ | 行の最初の非空白文字へ移動 | ^ | |
gg | ファイルの先頭へ移動 | gg | |
G | ファイルの最終行へ移動 | G | |
:{n} | 指定行番号へ移動 | :42 | |
Ctrl-f | 1ページ下にスクロール | Ctrl-f | |
Ctrl-b | 1ページ上にスクロール | Ctrl-b | |
% | 対応する括弧へ移動 | % | |
f{char} | 行内で次の文字へジャンプ | fa | |
t{char} | 行内で次の文字の手前へジャンプ | ta | |
x | カーソル位置の文字を削除 | x | |
dd | 行を削除(カット) | 3dd | |
dw | 単語を削除 | dw | |
d$ | カーソルから行末まで削除 | d$ | |
d0 | カーソルから行頭まで削除 | d0 | |
yy | 行をコピー(ヤンク) | 5yy | |
yw | 単語をコピー | yw | |
p | カーソルの後にペースト | p | |
P | カーソルの前にペースト | P | |
u | 直前の操作を取り消し | u | |
Ctrl-r | 取り消しをやり直し | Ctrl-r | |
r{char} | カーソル位置の文字を置換 | ra | |
cc | 行全体を変更(削除して挿入モード) | cc | |
cw | 単語を変更 | cw | |
C | カーソルから行末まで変更 | C | |
J | 下の行を現在行に結合 | J | |
~ | 大文字/小文字を切り替え | ~ | |
>> | 行をインデント | >> | |
<< | 行のインデントを解除 | << | |
. | 直前のコマンドを繰り返す | . | |
/{pattern} | 前方検索 | /error | |
?{pattern} | 後方検索 | ?warning | |
n | 次の検索結果へ移動 | n | |
N | 前の検索結果へ移動 | N | |
:s/old/new/ | 現在行で最初の一致を置換 | :s/foo/bar/ | |
:s/old/new/g | 現在行で全て置換 | :s/foo/bar/g | |
:%s/old/new/g | ファイル全体で全て置換 | :%s/foo/bar/g | |
:%s/old/new/gc | 確認しながらファイル全体で置換 | :%s/foo/bar/gc | |
* | カーソル下の単語を前方検索 | * | |
# | カーソル下の単語を後方検索 | # | |
:noh | 検索ハイライトを消去 | :noh | |
:w | ファイルを保存 | :w | |
:w {file} | 名前を付けて保存 | :w newfile.txt | |
:q | 終了 | :q | |
:q! | 保存せずに強制終了 | :q! | |
:wq | 保存して終了 | :wq | |
:x | 変更があれば保存して終了 | :x | |
ZZ | 保存して終了(:xと同じ) | ZZ | |
:e {file} | ファイルを開く | :e ~/.vimrc | |
:r {file} | ファイルの内容を挿入 | :r header.txt | |
:set number | 行番号を表示 | :set number | |
:set paste | ペーストモードを有効化 | :set paste | |
:set syntax=on | シンタックスハイライトを有効化 | :set syntax=on | |
:split | 水平分割 | :split file.txt | |
:vsplit | 垂直分割 | :vsplit file.txt | |
Ctrl-w w | 次のウィンドウへ移動 | Ctrl-w w | |
Ctrl-w h/j/k/l | 指定方向のウィンドウへ移動 | Ctrl-w l | |
Ctrl-w = | 全ウィンドウのサイズを均等化 | Ctrl-w = | |
Ctrl-w q | 現在のウィンドウを閉じる | Ctrl-w q | |
:tabnew | 新しいタブを開く | :tabnew file.txt | |
gt | 次のタブへ移動 | gt | |
gT | 前のタブへ移動 | gT | |
:tabclose | 現在のタブを閉じる | :tabclose | |
v + motion | 文字単位で選択してから操作 | vw | |
V + motion | 行単位で選択してから操作 | V5j | |
d (visual) | 選択範囲を削除 | vwd | |
y (visual) | 選択範囲をヤンク | Vjy | |
> (visual) | 選択範囲をインデント | V5j> | |
< (visual) | 選択範囲のインデントを解除 | V5j< | |
gv | 前回の選択範囲を再選択 | gv | |
q{reg} | マクロの記録を開始 | qa | |
q | マクロの記録を停止 | q | |
@{reg} | マクロを再生 | @a | |
@@ | 直前のマクロを再実行 | @@ | |
"{reg}y | 指定レジスタにヤンク | "ayy | |
"{reg}p | 指定レジスタからペースト | "ap | |
:reg | 全レジスタの内容を表示 | :reg |