Vim とは、ターミナル上で操作できるテキストエディタです。
コマンド操作でファイルの編集や保存ができるので、マウスを使わず、高速に作業できる点が魅力です。
今回は、Vim を使うメリットや使い方、よく使うコマンドをまとめてみました。
※当方の環境は Mac なので、使い方の紹介やコマンドは Mac を想定しています。
なぜ Vim を習得すべきなのか
Vim の使い方の前に、私が考える Vim を習得することのメリットを紹介します。
1. キーボードのみで操作するので時短・作業効率化につながる
Vim はターミナル上でコマンドを入力して移動や編集をします。マウスは使えません。
マウスやトラックパッドを使うと、キーボードからマウスに手を動かす手間が発生します。ほんのちょっとした時間ではありますが、チリも積もれば結構な時間になってしまいます。
その時間を短縮できたら、作業の効率化につながり、生産性もアップするはずです。
2. ちょっとした修正がすぐにできる
git にコミットする前やリリース対応前など、「ちょっとコードを修正したい」という時があります。
その度にいちいちエディタを開くより、ターミナル上でサクッと修正した方が早いです。
また、リリース対応などサーバールームで作業する際、VSCode などのエディタが使えない環境もあります。その際に Vim が使えないと、修正ができず困ってしまう可能性もあります。
Vim の使い方
ここから、Vim の具体的な使い方を紹介します。
1. Vim の起動
ターミナルでvim
と入力するだけで起動します。
特定のファイルを開く場合は、ファイル名を指定すれば OK です。
# Vimを起動 $ vim # 特定のファイル(sample.txt)を開きたい場合 $ vim sample.txt
2. モード切り替え
Vim には次の 4 つのモードがあり、それぞれ切り替えて使用します。
モード | できること |
---|---|
ノーマルモード | カーソル移動、コピー・ペースト、元に戻すなど |
インサートモード | 文字入力など編集作業 |
コマンドモード | Vim の終了・保存、検索など |
ビジュアルモード | 範囲指定など |
起動時はノーマルモードです。
それぞれのモードで作業中でも、esc
を押せばノーマルモードに戻ります。
Vim コマンド集
それぞれのモードでよく使うコマンドを紹介します。
ノーマルモード
カーソル移動
コマンド | 説明 |
---|---|
k | 上に移動 |
j | 下に移動 |
l | 右に移動 |
h | 左に移動 |
0(または^) | 文頭に移動 |
$ | 文末に移動 |
gg | ファイル先頭に移動 |
G | ファイル最後の行に移動 |
挿入
以下のコマンドでノーマルモード → インサートモードになります。
コマンド | 説明 |
---|---|
i | インサートモード |
a | 次の文字からインサートモード |
o | 1 行下に挿入 |
O | 現在行に挿入 |
削除
コマンド | 説明 |
---|---|
x | 1 文字削除 |
dd | 1 行削除 |
dx | 単語を削除 |
u | 1 つ前の状態に戻す |
コピー・ペースト
コマンド | 説明 |
---|---|
yy | 1 行コピー |
p | 1 行下にペースト |
P | 現在の行にペースト |
コマンドモード
終了・保存
コマンド | 説明 |
---|---|
:q | 編集終了 |
:q! | 保存しないで終了 |
:w | 上書き保存 |
:wq | 保存して終了 |
検索・置換
コマンド | 説明 |
---|---|
/ | 検索 |
n | 次の検索結果に移動 |
r | 置換(1 文字) |
R | 置換(2 文字以上) |
:%s/{置換前}/{置換後}/g | 一括置換 |
その他
コマンド | 説明 |
---|---|
:set number | 行数を表示 |
ビジュアルモード
ビジュアルモードに切り替えるには、ノーマルモードでv
を押します。
k, j, l, h
でカーソル移動をすると範囲選択できるので、そこからy → p
(コピー・ペースト)、d
(削除)などをすると良いです。
最後に
コマンドはとにかく使いまくって手に馴染ませるのが一番早いと思います。
使い慣れてくると、VSCodeなどのエディタを起動する少しの時間も惜しくなってきます。
普段のコーディングはエディタ、簡単な修正や追加などは Vim、といった使い方が良いかもしれません。