Vinの操作スタイルについて
Vimには4つのモードがあり、それぞれのモードを切り替えて編集します。
モードはコマンドを使って切り替える事ができます。
コマンド |
効果 |
Esc |
ノーマルモードへ移行 |
i, a |
インサートモードへ移行 |
v |
ビジュアルモードへ移行 |
: |
コマンドモードへ移行 |
ノーマルモード
ノーマルモードではカーソル移動を基本にコピペや削除を行えます。
カーソル移動 (文字単位)
コマンド |
効果 |
h |
左に移動する |
j |
下に移動する |
k |
上に移動する |
l |
右に移動する |
カーソル移動 (単語単位)
コマンド |
効果 |
w, W |
次の単語の先頭に移動する |
e, E |
今の単語の末尾に移動する |
※WとEの補足 |
空白に挟まれた文字を一単語として認識する |
% |
カーソル位置にある括弧に対応した括弧に移動する |
カーソル移動 (行単位)
コマンド |
効果 |
0 |
行頭に移動する |
$ |
行末に移動する |
gg |
ファイルの先頭行に移動する |
G |
ファイルの最終行に移動する |
H |
スクリーンの最上行に移動する |
M |
スクリーンの中央に移動する |
L |
スクリーンの最下行に移動する |
削除
コマンド |
効果 |
dw |
単語を削除する(空白含む) |
de |
単語を削除する(空白含まない) |
dd |
行を削除する |
D |
カーソルより後の文字を削除する |
コピペ
コマンド |
効果 |
yw |
単語をコピーする(空白含む) |
ye |
単語をコピーする(空白含まない) |
yy, Y |
現在行をコピーする |
p |
下の行に貼り付ける |
P |
上の行に貼り付ける |
インサートモード
インサートモードでは文字の挿入を行えます。
挿入
コマンド |
効果 |
i |
カーソルの左からインサートモードに入る |
a |
カーソルの右からインサートモードに入る |
I |
行頭からインサートモードに入る |
A |
行末からインサートモードに入る |
o |
下に行を追加しインサートモードに入る |
O |
上に行を追加しインサートモードに入る |
置き換え
コマンド |
効果 |
r |
1文字置き換える |
R |
1文字以上置き換える |
cw |
単語を置き換える |
ビジュアルモード
ビジュアルモードでは選択範囲を指定し、対象に操作を行えます。
ビジュアルモードの中にもモードが3つあり、場面に応じて使い分けます。
コマンド |
選択モード |
コマンド |
v |
VISUAL |
文字選択 |
V |
VISUAL LINE |
行選択 |
ctrl + v |
VISUAL BLOCK |
短形選択 |
選択する
コマンド |
効果 |
vh, vl |
一文字ずつ選択する |
ve, vE |
1単語ずつ選択する |
Vj, Vk |
一行ずつ選択する |
V5gg, V5G |
5行目まで纏めて選択する |
ctrl + v → j0I |
計2行の先頭に文字を挿入する |
選択範囲に操作する
コマンド |
効果 |
vd |
選択範囲を削除する |
vc |
選択範囲を削除してインサートモードに入る |
vy |
選択範囲をコピーする |
vp |
選択範囲の文字をコピーに置き換える |
コマンドモード
コマンドモードでは文字検索やファイル操作等、他にも様々な操作が行えます。
文字検索
コマンド |
効果 |
:/word |
'word'を検索する |
(検索中に) n |
下向きに次の検索 |
(検索中に) N |
上向きに次の検索 |
:s/old/new/g |
現在行の'old'を'new'に置き換える |
:%s/old/new/g |
ファイル上の全ての'old'を'new'に置き換える |
ファイル操作
コマンド |
効果 |
:q |
Vimを終了する |
:w |
ファイルを保存する |
:wq |
ファイルを保存してVimを終了する |
個人的によく使うコマンドの組み合わせ
コマンドを組み合わせる事で効率よく操作を行う事が出来ます。
コマンド |
効果 |
5gg, 5G |
行番号を指定して移動する |
o |
下に空行を追加する |
Vc |
現在行の文字を全て削除して新たに文字を挿入する |
cE |
単語の終わりまで削除してインサートモードに入る |
yE |
単語の終わりまでコピーする |
yyp, Yp |
現在行をコピーし下に挿入する |
vep |
選択範囲の文字とコピーした文字を置き換える |
ctrl + v → 5j0I |
計6行の先頭に文字を挿入する |
Vimに慣れるために
- vimtutorを行う
- macであればターミナルに
vimtutor
を入力すると起動する
- 2〜3周してコマンドに慣れる
- 作業環境をvimに染める
- 自分の場合はvscodeにvimのプラグインを入れ、毎日vimを使う環境にしました。
- アウトプットをvimで行う
- この記事もvimを使用して作成しています。とにかく慣れるまで使いましょう。