はじめに
Vim ってターミナル上で動かせるし、キーボードで完結できるし、いいですよね。
Vim を使い始めて4ヶ月ほど。まだまだ使いこなせていないですが、そんな私でもとりあえず Vim で困ることはほとんどなくなってきました。
そこで、今私がよく使っている操作を整理してみました。ここに書いた操作が使いこなせれば Vimmer としての一歩を踏み出したレベルにはなっているはず。
これから Vim を始めてみようという方の参考になれば幸いです。
あくまで「これだけ使えればなんとかなる」レベルの操作ですので、より詳しく知りたい方は最後にある参考記事をご参照ください。
ちなみにここに書いたのは(今のところ)「素の Vim 」の操作のみです。プラグインは入っていません。もしかしたら今後追記していくかもしれません。
よく使うVimの操作
移動系
-
l
でカーソル右移動 -
h
でカーソル左移動 -
j
でカーソル下移動 -
k
でカーソル上移動 -
Ctrl
+f
で1ページ下に移動 -
Ctrl
+b
で1ページ上に移動 -
G
で最終行に移動 -
gg
で最初の行に移動 -
$
でカーソル行の最後の文字に移動 -
^
でカーソル行の最初の文字に移動 -
0
でカーソル行の最初に移動 -
28G
で28行目に移動 -
w
で次の単語に移動 -
b
で前の単語に移動 -
%
で対応する括弧に移動(2019.5.2 追記)
挿入系
-
i
でカーソル位置からインサートモード -
a
でカーソルの右からインサートモード -
o
でカーソルの下に1行追加してインサートモード -
O
でカーソルの上に1行追加してインサートモード -
I
でカーソル行の最初の文字位置からインサートモード(2019.5.2 追記) -
A
でカーソル行の末尾からインサートモード(2019.5.2 追記) -
>>
でカーソル行のインデントを1つ増やす(2019.5.2 追記) -
<<
でカーソル行のインデントを1つ減らす(2019.5.2 追記) - ビジュアルモードで複数行選択した状態で
>
でその複数行のインデントを1つ増やす(2019.5.2 追記) - ビジュアルモードで複数行選択した状態で
<
でその複数行のインデントを1つ減らす(2019.5.2 追記)
選択系
-
v
でビジュアルモード -
Ctrl
+v
で矩形選択モード -
Shift
+v
で行選択モード(2020.5.8 追記) - ビジュアルモード/矩形選択モード/行選択モード でカーソル移動で移動範囲を選択
-
vaw
でカーソル位置の単語を選択(2019.5.2 追記)
ヤンク(コピー)・ペースト系
-
y
でビジュアルモード/矩形選択モードで選択した範囲をヤンク -
yy
でカーソル行1行をヤンク -
:3,10y
で3行目から10行目までをヤンク -
p
でカーソルの右にペースト(行をペーストする場合はカーソル行の下にペースト) -
yaw
でカーソル位置の単語をヤンク(2019.5.2 追記)
削除系
-
x
で1文字切り取り -
dd
で1行切り取り -
:15,30d
で15行目から30行目までを切り取り -
d$
でカーソル位置から後ろを切り取り(2019.5.2 追記) -
d^
でカーソル位置から前を切り取り(2019.5.2 追記) -
daw
でカーソル位置の単語を切り取り(2019.5.2 追記)
検索系
-
*
でカーソル位置の単語を検索(ハイライト表示) -
:noh
でハイライト解除(.vimrc
にnmap <Esc><Esc> :nohlsearch<CR><Esc>
を追記して、ESC
連打でハイライト解除) -
/hoge
でhoge
を検索 -
/^f
でfから始まる行を検索(つまり/
での検索には正規表現が使える) -
n
で検索対象の次へ移動 -
N
で検索対象の前へ移動
置換系
-
:%s/foo/bar/g
でfoo
をbar
に一斉置換
バッファ・ウィンドウ系
-
:w
で保存 -
:wq
で保存してウィンドウを閉じる -
:q
でウィンドウを閉じる -
:q!
で保存せずにウィンドウを閉じる -
:vs
で画面を左右に分割 -
:sp
で画面を上下に分割 -
:ls
で現在開いているバッファを確認 -
:b2
でバッファ番号2を表示する
その他
-
ESC
でノーマルモード -
u
でアンドゥ -
Ctrl
+r
でリドゥ
おわりに
Vim の操作はまだまだあります。何度も繰り返し操作することで自然と覚えていきますので、最初のうちは根気強く使っていきましょう。
とりあえずこれだけ使えれば Vim でなんとかなるはず。