ファイル操作
コマンド | 内容 |
---|---|
ZZ | 上書き保存して vi を終了 |
:w | 内容を保存 |
:q! | 保存せずに終了 |
モード
コマンド | 内容 |
---|---|
i | 挿入モードへ |
o | 新しい行を追加し挿入モードへ |
R | 上書きモードへ |
v | ビジュアルモードへ |
Ctrl + v | 矩形選択のビジュアルモードへ |
ESC | コマンドモードに戻る |
Ctrl + [ | コマンドモードに戻る |
Ctrl + z | vim を一時停止する、vim に戻るときは fg |
カーソル移動
コマンド | 内容 |
---|---|
w | 次の単語(word) |
b | 前の単語(word) |
f(文字) | カーソルがある行の(文字)に移動(Find) |
F(文字) | カーソルがある行の(文字)に移動(逆向き) |
0 | 行頭 |
^ | 行頭 |
$ | 行末 |
% | 対応する括弧に移動 |
Ctrl + u | 半画面上(up) |
Ctrl + d | 半画面下(Down) |
zz | カーソルが画面中央になるようにスクロール |
Ctrl + o | 古カーソル位置に戻る(old) |
Ctrl + i | 新しいカーソル位置に進む |
行移動
コマンド | 内容 |
---|---|
gg | 最初の行 |
88G | 88行目 |
G | 最終行 |
H | 画面上の最初の行(home) |
M | 画面上の中央の行(middle) |
L | 画面上の最後の行 |
検索と置換
コマンド | 内容 |
---|---|
* | カーソル下の単語を検索 |
# | カーソル下の単語を検索(上方向に検索) |
:%s/hage/hoge/g | 単語の置換(hage を hoge へ置換) % はファイル全体を表する |
編集
コマンド | 内容 |
---|---|
. | 直前の変更を繰り返す |
u | undo |
Ctrl + r | redo |
コピー&ペースト
コマンド | 内容 |
---|---|
yy | 今いる行をコピー(yank) |
p | カーソルの行に ペースト |
yy5p | 現在の行をコピーし、下に5行追加する |
gv | 直前の選択範囲を再選択 |
特殊文字
コマンド | 内容 |
---|---|
Ctrl – v return | 改行文字の入力 |
Ctrl – v tab | Tab 文字の入力 |
ウィンドウ
コマンド | 内容 |
---|---|
:split | 画面を上下に分割する |
Ctrl + w j | 下の window へ移動 |
Ctrl + w k | 上の window へ移動 |
:vsplit | 画面を左右に分割する |
Ctrl + w h | 左の window へ移動 |
Ctrl + w l | 右の window へ移動 |
:e filename | 今いる window にファイルを開く(edit) |
:e test*.cc | ワイルドカードを指定してファイルを開く |
バッファ
コマンド | 内容 |
---|---|
:ls, :buffers | 編集中のバッファ一覧を表示 |
:bn | 次のバッファに移動 |
:bd[elete] | バッファを削除 |
単語補完
コマンド | 内容 |
---|---|
Ctrl + p | 単語補完(前方検索) |
マクロ
コマンド | 内容 |
---|---|
q | マクロの記録開始 |
q | マクロの記録停止 |
@ | マクロの実行 |
レジスタ
コマンド | 内容 |
---|---|
:reg | レジスタの一覧表示 |
Ctrl + r “ | ヤンクした文字列をペースト |
コマンドの意味
コマンド | 内容 |
---|---|
g | 繰り返し |
c | 1回ごとに確認 |
その他
コマンド | 内容 |
---|---|
:!command | 外部コマンドの実行 |
: | 範囲選択中に : を入力すると、選択領域の範囲指定('<,’>)が自動で挿入された状態でコマンドモードに入る。これを置換に利用すると便利。(例::'<,’>s/old/new/g) |
Ctrl + a | 数値のインクリメント |
Ctrl + x | 数値のデクリメント |