はじめに
Vimのコマンドはかなり多いので、もし他のコマンドを知りたい場合はググってみてください。
カーソル移動
Vimではカーソルを移動させるのに、十字キー以外が使えます。
そして、慣れてしまえば十字キーよりも早く正確に動かせます。
移動方向 | 対応コマンド |
---|---|
← | h |
↓ | j |
↑ | k |
→ | l |
余談ですが、Macでは日本語入力モードでz
+ 上記アルファベットのどれか
を入力すると、Vimにおいてそのアルファベットに対応する矢印文字(←/↓/↑/→)が入力できます。
モードの切替
Vimには以下のモードが存在します。
モード | モードの内容 | 他のモードからの切替方法 |
---|---|---|
ノーマルモード | h |
Esc |
文字入力モード | j |
i など |
文字選択モード | k |
v |
ファイル操作
コマンド | 操作内容 |
---|---|
:w |
ファイルを保存する |
:w + ファイル名 |
開いているファイルをファイル名 で保存する |
:q |
ファイルを閉じる |
:q! |
ファイルを強制的に閉じる(変更は破棄される) |
:wq |
ファイルを保存して閉じる |
:! + コマンド |
Vimを開いたまま、外部コマンドを実行する |
:r ファイル名 |
ファイル名 の中身を挿入する |
文字操作
コマンド | 操作内容 |
---|---|
i |
カーソル位置で文字入力モードに切り替える |
a |
カーソル位置から1文字進めて文字入力モードに切り替える |
A |
カーソル位置の行末から文字入力モードに切り替える |
o |
カーソル位置の下に1行追加してから文字入力モードに切り替える |
O |
カーソル位置の上に1行追加してから文字入力モードに切り替える |
x |
カーソル後の文字を1文字消す(Vimレジスタに格納する) |
y |
選択範囲をコピーする(Vimレジスタに格納する) |
p |
Vimレジスタに格納された文字列を、カーソルの1文字先に貼り付ける |
r |
カーソルの1文字先を入力した文字で置き換える |
R |
カーソル位置からEsc を入力するまで文字入力し、置き換える |
cw |
カーソル位置の1単語を削除し、文字入力モードに切り替える |
cc |
カーソル位置の行を削除し、文字入力モードに切り替える |
dw |
カーソル位置の1単語削除する |
d$ |
カーソル位置から行末まで削除する |
dd |
カーソル位置の行を削除する(Vimレジスタに格納する) |
u |
直前操作の取り消し |
U |
行全体の取り消し |
Ctrl + R |
取り消しの取り消し |
d
などのコマンドは、コマンド実行回数
+ コマンド
+ モーション回数
+ モーション
というように構成されており、上記のdw
中のw
はモーションになります。
よって、d2w
などと入力すれば、カーソル位置の 2 単語削除する、という操作になります。
カーソル移動
コマンド | 操作内容 |
---|---|
h, j, k, l |
カーソルの位置を1文字分動かす |
0 |
行の先頭に移動する |
gg |
ファイルの先頭行に移動する |
G |
ファイルの最終行に移動する |
数字 + G |
ファイルの数字 行に移動する |
Ctrl + g |
現在のファイル内の行数を表示する |
Ctrl + o |
前のカーソル位置に戻る |
Ctrl + i |
Ctrl + o で戻ったカーソル移動を進める |
検索
コマンド | 操作内容 |
---|---|
/ + 文字列 |
ファイル内を文字列 で検索する(ファイル内を前から) |
? + 文字列 |
ファイル内を文字列 で検索する(ファイル内を後ろから) |
n |
次に検索がヒットした場所へ移動する |
N |
前に検索がヒットした場所へ移動する |
% |
対になる() , {} , [] に移動する |
まとめ
Vimのコマンドはものすごく多いので、一部だけ抜粋しました。
また、操作方法が独特なので、自分自身に刷り込ませるためにも、継続的に触れていく必要があるなと痛感しております。