Vimはコマンドを覚えることで爆速操作ができますが、用意されているコマンドはかなり多いです。
ここではよく使うコマンドを用途に分けて紹介します。
はじめに
Vimには4つのモードがあります。
インサートモードはテキストを入力するモードなので、使用するのは他のモードへ切り替えるコマンドのみです。
コマンドは主にノーマルモード・コマンドモード・ビジュアルモードで使用します。
モードの切り替え
キー |
動き |
i |
インサートモードに切り替え、カーソルの左から挿入 |
a |
インサートモードに切り替え、カーソルの右から挿入 |
o |
インサートモードに切り替え、カーソルの下に空白行を挿入 |
O |
インサートモードに切り替え、カーソルがある行に空白行を挿入 |
ビジュアルモードではカーソルの移動ができないので、あらかじめカーソルを操作したい位置に移動させてから切り替えます。
各モードでのコマンド
コマンドは入力後Enterで実行します。
画面表示系
移動系
キー |
動き |
k |
上の行に移動 |
j |
下の行に移動 |
h |
左に移動 |
l |
右に移動 |
:10 |
10行目に移動(数字を変えると移動先の行も変わる) |
$ |
行末に移動 |
0 |
行頭に移動 |
^ |
インデントの先頭に移動 |
{ |
上の段落に移動 |
} |
下の段落に移動 |
[[ |
上のセクションに移動 |
]] |
下のセクションに移動 |
G |
最終行に移動 |
:1 または gg |
先頭行に移動 |
Control + o |
移動前の場所に戻る |
ファイル保存・終了
キー |
動き |
:w ファイル名.拡張子 |
名前をつけて保存 |
:w |
上書き保存 |
:q |
編集終了 |
:wq |
保存して編集終了 |
:q! |
保存せずに編集終了 |
編集系
キー |
動き |
x |
カーソルがある位置の文字を一文字削除 |
X |
カーソル位置の左の文字を一文字削除 |
dd |
一行削除 |
2dd |
2行削除(数字を変えると消える行数も変わる) |
dw |
単語の削除(単語の先頭にカーソルがある状態で。スペースで区切られているところを「単語」と認識する) |
u |
前回の操作を取り消す(undo) |
Control + r |
undoを取り消す |
yy |
一行コピー |
2yy |
二行コピー(数字を変えるとコピーする行数も変わる) |
p |
下の行にペースト |
P |
現在の行にペースト |
. |
前回のコマンドを再実行 |
J |
二行を一行に連結(一行目にカーソルがある状態で) |
検索と置換
キー |
動き |
/テキスト |
テキストを検索 |
n |
次の検索結果に移動 |
N |
前の検索結果に移動 |
R |
カーソルのある位置から一文字ずつ置換 |
:%s/検索するテキスト/置換するテキスト/g |
一括置換 |
:%s/検索するテキスト/置換するテキスト/gc |
検索結果をひとつずつ確認しながら置換 |
コマンドモード
キー |
動き |
:! コマンド |
コマンドを実行 |
:!! |
前回のコマンドを再実行 |
ビジュアルモード
キー |
動き |
> |
インデントを右に移動 |
< |
インデントを左に移動 |
y |
コピー |
j |
選択範囲を下の行に拡大 |
k |
選択範囲を上の行に拡大 |
:norm I テキスト |
行頭に挿入 |
:norm A テキスト |
行末に挿入 |
さいごに
よく使うコマンドだけでもこれだけの数があります。
丸暗記はできないと思うので、使って慣れて手で覚えるのが一番良さそうですね!