のっかーのエンジニア日記

新人SEの日記です。

vimの使い方

vimの使い方をまとめます。

保存・終了

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

移動

コマンド 実行内容
h
l
j
k
f 「文字」 次の「文字」まで移動
F 「文字」 前の「文字」まで移動
; 直前の「f 「文字」」での移動を繰り返す
, 直前の「f 「文字」」での移動を逆向きに繰り返す
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 直前のヴィジュアル選択範囲

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

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

削除

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

コピー・ペースト

コマンド 実行内容
p ペースト
y コピー
yy 行コピー
"0p 明示的にコピーしたものをペースト(無名レジスタはdなどで上書きされるが、レジスタ0はdでは上書きされない。)

検索

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

検索中の移動

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

置換

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

「オプション」は、以下のものから好きなだけ選べる。 オプション |内容 ---|--- g |global。全て置換する。 c |check。チェックしながら置換を進める。

取消・再実行

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

ヘルプ

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