Vimはこれだけ覚えればいい|モーダルエディタの本当のメリット

Vimを使ってみたものの、「覚えるコマンドが多すぎる」と感じて挫折した人は少なくないと思います。

wbedwciwdi"……。

Vimの解説を読むと、最初から大量のコマンドが登場します。

しかし、本当に最初からこれらを覚える必要があるのでしょうか。

実はVimは、もっと単純に使えます。

普段使っているエディタの基本操作をVimに置き換えるだけでも、モーダルエディタのメリットは十分にあります。

目次

普通のエディタで何をしているのか

まず、VS Codeやメモ帳などの一般的なエディタで文章を編集するとき、自分が何をしているか考えてみます。

よく使う操作は、だいたい次のようなものです。

操作キー
移動矢印キー
選択Shift + 矢印キー
コピーCtrl+C
切り取りCtrl+X
貼り付けCtrl+V
右側を削除Delete
左側を削除Backspace
UndoCtrl+Z
RedoCtrl+Y
全選択Ctrl+A
検索Ctrl+F

もちろんエディタには、もっと多くの機能があります。

しかし「文章を編集する」という作業だけを見ると、意外と少ない操作で成り立っています。

基本的には、

移動 → 選択 → 削除・コピー → 入力・貼り付け

の繰り返しです。

一つ一つは簡単。でも何回使っている?

Ctrl+Cでコピーする。

Ctrl+Vで貼り付ける。

Shiftを押しながら矢印キーで選択する。

どれも難しい操作ではありません。むしろ直感的に扱えるからこそ、多くのエディタで標準的な操作として定着しています。

しかし、ここで少し見方を変えてみます。

これらのキーを1時間に何回押しているでしょうか。

矢印キーでカーソルを動かし、Shift+矢印で選択し、Ctrl+Cでコピーする。Ctrl+Vで貼り付け、DeleteやBackspaceで削除し、間違えたらCtrl+Zで戻す。

一回一回は何でもありません。

しかし、文章やプログラムを長時間編集していると、この小さな操作を何度も繰り返しています。

矢印キーやDeleteキーを使えば、ホームポジションから離れた場所へ指を動かします。CtrlやShiftを使う操作では、複数のキーを組み合わせます。

普段はあまりに自然にやっているため、その回数を意識していないだけです。

Vimなら基本操作を一般キーに置き換えられる

ここでVimを見てみます。

先ほどの操作は、おおむね次のように置き換えられます。

普通のエディタVim
矢印キーh j k l
Shift + 矢印vh j k l
Ctrl+Cy
Ctrl+Xd(削除した内容を貼り付け可能)
Ctrl+Vp
Deletex
BackspaceX
Ctrl+Zu
Ctrl+YCtrl+R
Ctrl+AggVG(全選択相当)
Ctrl+F/

文字を入力したければiでInsert modeに入り、終わったらEscでNormal modeへ戻ります。

最初は、本当にこれだけでも構いません。

難しいVimコマンドはまだ覚えなくていい

Vimというと、次のようなコマンドがよく紹介されます。

dw
ciw
di"
d$
3dd

確かに便利です。

しかし、これらを最初から覚えようとすると、Vimは急に難しくなります。

まずは、

h j k l
v
y
d
p
x
X
u
Ctrl+R
/
i
Esc

くらいでも文章は編集できます。

しかも、この段階ですでにVimがモーダルエディタであることのメリットを受けています。

なぜNormal modeが必要なのか

普通のエディタでは、yを押せば「y」を入力しなければなりません。

pなら「p」、xなら「x」です。

そのため、コピーや貼り付けなどの編集操作には、Ctrl+CCtrl+VCtrl+Zのような組み合わせキーを使います。

Vimは違います。

文字を入力するInsert modeと、文章を操作するNormal modeを分けています。

Normal modeでは文字を入力する必要がないため、

y = コピー
d = 削除
p = 貼り付け
x = 1文字削除
u = Undo

のように、押しやすい一般キーをそのまま編集操作に使えます。

つまりVimのモードは、単なる面倒な切り替えではありません。

同じキーボードを「文字入力用」と「編集操作用」の2種類の操作盤として使うための仕組みです。

1回ではなく、繰り返す回数を見る

ここが、Vimを理解するうえで重要なところです。

Ctrl+Cyを1回ずつ押して比較しても、大した違いはありません。

矢印キーとhjklを1回ずつ押しても同じです。むしろVimに慣れていなければ、矢印キーのほうが簡単でしょう。

しかし、実際の編集では1回では終わりません。

移動する。選択する。削除する。コピーする。貼り付ける。元に戻す。そして、また移動する。

これを長時間、何度も繰り返します。

一つ一つの操作ではなく、その操作を何回繰り返しているかを意識すると、モーダルエディタとモードレスエディタの違いが見えてきます。

Vimは、頻繁に行う編集操作をホームポジション周辺の一般キーへ移しているのです。

慣れてから一つずつ増やせばいい

hjklだけで移動していると、そのうち、

「単語一つ分移動するのに、何度もキーを押すのが面倒だな」

と思うかもしれません。

そのときに初めてwを覚えればいいのです。

vで選択してdで削除する操作を何度も繰り返しているなら、そこでdwのような操作を覚えてもいいでしょう。

単語を書き換えることが多いなら、さらにciwを覚える。

順番は、

コマンドを覚える → 使い道を探す

ではなく、

不便を感じる → それを解決するコマンドを一つ覚える

で十分です。

最初は「制限版Vim」でもいい

極端に言えば、Vimを始めたばかりのころは、

h j k l
v
y
d
p
x
X
u
Ctrl+R
/
i
Esc
ggVG

これ以外の編集コマンドは使わない、と決めてもいいくらいです。

これだけでも、矢印キー、Shift+矢印、Ctrl+C、Ctrl+X、Ctrl+V、Delete、Ctrl+Z、Ctrl+Fといった、普段何度も使っている操作の多くをNormal modeの一般キーへ置き換えられます。

そして、しばらく使ってみる。

必要になったコマンドだけを、そのあと一つずつ追加していけばいいのです。

まとめ

Vimは「大量のコマンドを暗記しなければ使えないエディタ」に見えます。

しかし、最初からVimを極める必要はありません。

普通のエディタで行っていることを考えてみれば、

移動・選択・コピー・削除・貼り付け・Undo・検索

といった、ごく少数の操作を何度も繰り返しています。

VimはNormal modeを使うことで、その頻繁な編集操作を押しやすい一般キーで行えるようにしています。

ciwdwなどのVimらしいコマンドは、その先で覚えれば十分です。

Vimを始めるなら、まず普通のエディタで毎日使っているキーをVimのキーに置き換えるだけでいい。

一つ一つの差は小さくても、それを何度も繰り返す。

そこに、モーダルエディタを使う意味があります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次