🔥

Vimコマンドの覚え書き

2023/08/25に公開

個人用のVimコマンドの覚え書きです。

保存・終了

コマンド 実行内容
:w 保存
:q 終了
:q! 強制終了
:wq 保存して終了

移動

コマンド 実行内容
h
l
j
k
f「文字」 次の「文字」まで移動
F「文字」 前の「文字」まで移動
t「文字」 次の「文字」の1文字手前まで移動
T「文字」 前の「文字」の1文字後まで移動
; 直前のf「文字」ort「文字」orF「文字」orT「文字」での移動を繰り返す
, 直前のf「文字」ort「文字」orF「文字」orT「文字」での移動を逆向きに繰り返す
b ←(1単語)
w →(1単語)
e →(1単語)
0 行頭
^ 行頭(スペース、タブ除く)
$ 行末
gg ファイル先頭行
G ファイル最終行
Ctrl + o ジャンプ前の位置に戻る
Ctrl + i ジャンプ前の位置に進む
% カッコペアでの移動

モード

コマンド 実行内容
I 行頭から挿入モード
i 現在のカーソル位置から挿入モード
a 現在のカーソル位置の直後から挿入モード
A 行末から挿入モード
c「モーション」 「モーション」で選択される範囲を削除してから挿入モード
ciw 現在のフォーカス中の単語を削除してから挿入モード
C 現在位置から行末まで削除してから挿入モード
o 直下の行から挿入モード
O 直上の行から挿入モード
s 一文字削除してから挿入モード
S 1行削除してから挿入モード
挿入モードでCtrl + o 1コマンドを実行するまでノーマルモードに戻り、それが終わったら挿入モードに復帰。
v ヴィジュアルモード
V 行ヴィジュアルモード
Ctrl + v ブロックヴィジュアルモード
gv 直前のヴィジュアル選択範囲

ヴィジュアルモード中の操作

コマンド 実行内容
I 現在のカーソル位置に挿入
A 現在のカーソル位置の直後に挿入
o 現在のカーソル位置の、選択範囲内での開始位置・終了位置の切り替え

挿入モード中の操作

コマンド 実行内容
Ctrl + r「任意の英字1文字」 「任意の英字1文字」に対応するレジスタからのペースト

削除

コマンド 実行内容
x 現在のカーソル位置を削除
r 現在のカーソル位置の文字の置換
R 一文字以上の置換
d「モーション」 「モーション」で選択される範囲を削除
diw 現在のカーソル位置の単語を削除
dd 行削除

コピー・ペースト

コマンド 実行内容
p ペースト
P 1文字手前の場所にペースト
y コピー
yy 行コピー
"「任意の英字1文字」y「モーション」 「モーション」で選択される範囲を「任意の英字1文字」に対応するレジスタにコピー
"「任意の英字1文字」p 「任意の英字1文字」に対応するレジスタにコピー済みのデータをペースト
"0p 明示的にコピーしたものをペースト(無名レジスタはdなどで上書きされるが、レジスタ0はdでは上書きされない。)

検索

コマンド 実行内容
/「検索文字」 「検索文字」を順方向に探す
?「検索文字」 「検索文字」を逆方向に探す
* 現在のフォーカス中の単語を順方向に探す

検索中の移動

コマンド 実行内容
n 次のヒットへ移動
N 前のヒットへ移動

置換

コマンド 実行内容
:s/「置換対象の正規表現」/「置換文字」/「オプション」 行を対象範囲とした置換
:%s/「置換対象の正規表現」/「置換文字」/「オプション」 ファイル全体を対象範囲とした置換

上記のコマンド内でレジスタからの

「オプション」は、以下のものから好きなだけ選べる。

オプション 内容
g global。全て置換する。
c check。チェックしながら置換を進める。

取消・再実行

コマンド 実行内容
u 取消
U 行単位の取消
Ctrl + r 再実行(挿入モードではレジスタからのコピーが開始する。)
. 直前の変更を繰り返す。(変更とは、挿入モードに入ってから挿入モードを抜け出すまでコマンドを指す。ただし、dなどはノーマルモードのまま変更を行っている。)

ヘルプ

コマンド 実行内容
:help 「コマンド」 ヘルプ表示。Ctrl + Dで候補表示。Tabで補完。

Discussion