メンテナンス作業などでとりあえず Vim を使わなければならない人、あるいは Vim に興味ある、という方に向けた最低限の使い方をお伝えします。
もっとVimの便利な使い方を知りたい方は、こちらをご覧ください。
Vimを使うにはこれだけは知っておこう 〜入門編〜
1. モードの切り替え
Vimにはモードという考え方があります。最低限覚えるのは次の2つ。
(1)ノーマルモード | (2)挿入モード(インサートモード) |
・移動や検索、削除などの編集操作を行う ・このモードで基本的に作業する | ・文字列を入力する ・このモードで居る時間は極力減らす |
色々意味はあるのですが、最初は面倒臭く感じるモードの行き来を覚えるのが第一歩です。
モードの切り替えは以下のキー操作で行います。
No | キー操作 | 操作内容 |
---|---|---|
1 | i | 挿入モードに入る(カーソル位置の文字前) |
2 | a | 挿入モードに入る(カーソル位置の文字後) |
3 | ESC Ctrl-[ | 挿入モードからノーマルモードへ戻る |
4 | Ctrl-c | 挿入モードからノーマルモードへ戻る(キャンセル) |
Ctrl-cはCtrlキーを押しながらcキーを押す意味になります。
上の1と2は使ってみると明かに違いを感じます。
3と4は違いを感じないと思います。そのため、どちらでも慣れている方法を使ってみるのが良いでしょう。
2. 移動
基本的な移動は、下記が分かれば利用できます。
キー操作 | 移動 | ノーマルモード | 挿入モード |
---|---|---|---|
→ | 1文字右 | ○ | ○ |
← | 1文字左 | ○ | ○ |
↑ | 1文字上 | ○ | ○ |
↓ | 1文字下 | ○ | ○ |
PageDown | 1ページ下 | ○ | ○ |
PageUp | 1ページ上 | ○ | ○ |
Home | 行頭 | ○ | ○ |
End | 行末 | ○ | ○ |
基本的な移動操作は、実は普通のエディタと同じです。
3. 入力・削除
こちらの通り、文字入力や編集操作については特にクセを感じるところだと思います。
キー操作 | 操作内容 | ノーマルモード | 挿入モード |
---|---|---|---|
a〜z A〜Z 0〜9 記号など | 各文字入力 | – | ○ |
x | カーソル下の1文字削除 | ○ | – |
DEL | 次の1文字削除 | – | ○ |
BackSpace Ctrl-h | 前の1文字を削除 | – | ○ |
ご覧の通り、挿入モードでは文字入力以外にできることがかなり少ないです。
できれば、次のような操作まで覚えられるとラクですね。
キー操作 | 操作内容 | ノーマルモード | 挿入モード |
---|---|---|---|
dw | 1単語削除 | ○ | – |
d$ | 行末まで削除 | ○ | – |
d0 | 行頭まで削除 | ○ | – |
dd | 1行削除 | ○ | – |
Vimのノーマルモードでは、dwのように2文字分のキーを押すことで、複雑な操作が簡単にできます。このような操作を突き詰めるのがVimユーザーが好むところです。
4. 保存・終了
エディタで編集した内容を保存または終了するには、次の操作となります。
キー操作 | 操作内容 | ノーマルモード | 挿入モード |
---|---|---|---|
ZZ | 保存終了 | ○ | – |
:q | 終了(要保存) | ○ | – |
:wq | 保存終了 | ○ | – |
:q! | 強制終了 | ○ | – |
:w | 保存 | ○ | – |
いずれもノーマルモードからでなければ操作ができませんので、注意してください。
ZZは大文字のZです。また、: や ! といった記号が重要な役割を果たすのにも注意が必要です。
ちなみに :q は :quit、:w は :write の略です。このように英単語の短縮形が多いので、一緒に覚えるのがコツの1つです。
5. 文字列検索
Vimで文字列を検索する場合は、次のように実行します。
(ノーマルモード) /{検索したい文字列}Enter
/(半角スラッシュ)の後に検索したい文字列を入力して決定するだけです。
同じ文字列で次を検索するには n を押すだけです。
Vim の設定によっては、検索した文字がハイライトした状態になったりもします。
ここまで覚えたなら、とりあえず最低限の編集作業はできると思います。
しかし、ホントはもっと便利なエディタなんです。Vim というエディタは。絶対に便利なのに
使わないのはもったいない!
そんなわけで、もう少しこの記事を読んで Vim の便利さを知ってください。興味を持つほどに、あなたの編集速度は速くなっていきます。
もっと便利な操作方法 〜初級編〜
たくさん内容があるので、主なものだけ紹介します。
1. 移動
基本的な移動は、下記が分かれば利用できます。
キー操作 | 移動 | ノーマルモード | 挿入モード |
---|---|---|---|
l | 1文字右 | ○ | – |
h | 1文字左 | ○ | – |
k | 1文字上 | ○ | – |
j | 1文字下 | ○ | – |
Ctrl-f | 1ページ下 | ○ | – |
Ctrl-b | 1ページ上 | ○ | – |
0 | 行頭 | ○ | – |
$ | 行末 | ○ | – |
w | 次の単語 | ○ | – |
b | 前の単語 | ○ | – |
上4つのキーはキーボードで、右手のホームポジションにちょうど合う位置です。
この配列での上下左右(hjkl)が使いたいがために、Vimのキー配列にこだわるユーザーがたくさんいるという素晴らしい配列です。
また、それ以外も1文字で多彩な移動ができる点が豊富です。
加えて、いずれもノーマルモードでしか機能しません。つまり、ノーマルモードで常にいる方が便利なので、細かく挿入モードを終了させましょう。
2. 行内ジャンプ(行内検索)
Vimでは1行の中で検索をよく使います
キー操作 | 操作内容 | ノーマルモード | 挿入モード |
---|---|---|---|
f{1文字} | 指定した次(右)の1文字に移動する | ○ | – |
F{1文字} | 指定した次(左)の1文字に移動する | ○ | – |
t{1文字} | 指定した次(右)の1文字の左に移動する | ○ | – |
T{1文字} | 指定した次(左)の1文字の右に移動する | ○ | – |
; | 上4つの操作のうち、直前に実行した 操作を右方向に繰り返す | ○ | – |
, | 上4つの操作のうち、直前に実行した 操作を左方向に繰り返す | ○ | – |
Vimの世界では、モーションと呼ばれる操作です。1文字検索して移動するイメージです。
慣れると劇的に移動が早くなりますので、なるべく早く覚えましょう。
下記も参考にして下さい。
3. 置換
1回だけ置換するならこちら。
(ノーマルモード) :%s/{置換対象文字列}/{置換後文字列}/
全部置換するならこちら。
(ノーマルモード) :%s/{置換対象文字列}/{置換後文字列}/g
置換対象の文字列には正規表現(Vim版)が使えるため、やり方次第ではかなり色々な置換パターンを利用することができます。
併せて下記をご覧いただくと、より使い勝手が良くなります。
もっと速いVim
実は Vim はすごいエディタなんです。
この変則的とも思えるモードやキー操作は、実は Vimmer(Vimユーザー)の中では最も人気の高い採用理由となっています。
それは Vim を使った編集速度を見ると明かになります。
Vimはとにかく速いのです。
例えば、次のようなコーディングの動画をみると一目瞭然です。
もし、もっとVimについて使いこなせるようになりたい、あるいはもっと知りたい方は下記の記事をご覧ください。