手首にやさしい「Vim」の習得方法~初心者編

68 view

ナツいアツがもうすぐやってきます。

地元に帰った時のお土産を皿に乗せて皆さんに配りに行く際に、私の姿を見たある人物から「托鉢の僧」と形容されました。加藤です。
丸刈り頭が皿を持っただけなのに。托鉢どころか皆さんに配りに行くのに。

ファイルの編集の大変さ

パソコンで文字を打つときはほとんどの人がキーボードを使います。そりゃそうです。
でも、キーボードのキーの配置に煩わしさを覚える人は多いのではないでしょうか?
指が短い私は今でも煩わしいです。

「Backspaceキーが遠い!Escキーが遠い!矢印キーが遠い!」
ホームポジションから指を放したくないのに、指が届かないから仕方なく手を浮かせます。

しかし、一旦ホームポジションから手を離せば
「…ん?…よし、ここがホームポジション…だよね…」
と、真っ暗闇の部屋で照明のリモコンを探すような面倒くさい時間を過ごします。
1秒もかかりませんが、これが繰り返されると厄介です。
タッチタイピングに慣れていない人はなおさらです。

指だけでなく腕全体も忙しくなり、肩や手首に異常な倦怠感を覚える人は少なくないと思います。

まさにそのような状態だった私を救ったのが「Vim(ヴィム)」です。
vim

今回の記事ではVimの簡単な紹介と私がVimをある程度扱えるようになるまでにやったことを紹介します。
Vimのインストールの方法や使い方に関しては細かく触れません。

私とVimとの出会い

以前に私の先輩にあたる人が私の隣でパソコンに文章を打っていたのですが、キーボードの叩くリズムがずっと一定で、しかもとてつもなく早いことに気づきました。
彼はタッチタイピングが上手だったこともありますが、注目すべきは「両手の位置がずっと固定され、指だけが忙しく動いていた」だったことです。
ほとんど手を浮かす機会がなかったのです。
一定のリズムで叩かれるキーの音が本当に心地よかったです。

なんだか彼がとてもイケメンに見えてきて「自分もこうなりたい…」と思って彼の秘密を探ったところ(ただ質問しただけです)、どうやら「Vim」というものを使用していることがわかりました。
その日から私もVimについて調べ、特訓し、実際に業務中に使用することでVimの恩恵を段々と享受されてきました。

とにかく手首が疲れない!肘が疲れない!肩も疲れない!
つまり、腕が疲れない!!!

Vimの基本的な特徴

Vimはいわゆるテキストエディタです。
通常のキー設定をVim仕様にすることで、ファイルの編集作業を高速に行うことができます。

例えばVimでは、矢印キーの「↑」「→」「↓」「←」はそれぞれ、「k」「l」「j」「h」に割り当てられています。
「k」「l」「j」なんて、まさにホームポジションそのものです。

行の末尾に移動するときは「0」、行頭なら「$」です。
ページ最上部への移動は「gg」、最下部なら「G」です。
他にも多数のコマンドが用意されており、また、独自のキーマップ作製することが可能です。

Vimの恩恵を受けやすい人

ぱっと思いつくのは、プログラマーです。
ファイルの編集中にあっちとこっちを行ったり来たり、コピペを多用したり、多数のファイルを扱うような作業ではVimは威力を発揮します。
プログラマーとは対照的に、この記事のようにひたすら日本語を書くような作業や、そもそも普段から文字を書かない作業ではあまり効果はないと思います。

私流Vimコマンドの覚え方~初心者編

Vimのデメリットとして挙げられるのは、「複雑すぎてとっかかりづらい」ことだと思います。
私の場合は以下のような順番でVimの習得に励みました。

1. カーソルの移動を覚える

まずは基本的なコマンドから覚えてましょう。
矢印キーの移動は「k」「l」「j」「h」です。
ちょうどホームポジションの上にあるので、キーボードを見ないままこれらのキーをひたすら叩きます。

何か長い文章が書かれたファイルを用意して、現在のカーソル位置の近いところにある文字に目標を定めて、矢印キーを使わずに上記のVimコマンドのみでカーソルを移動させましょう。

これを繰り返せばカーソルの基本的な移動はすぐに習得できます。

2. 縦の移動を覚える

ページの先頭や末尾への移動、ページを画面の半分ずつ上下にスクロールなどのコマンドがあるので、それもひたすら叩いて習得しましょう。

3. カーソルが置いてある行内での移動を覚える

カーソルが置いてある行の先頭や末尾への移動、単語ごとの移動、スペースごとの移動などのコマンドをひたすら叩いて習得しましょう。

4. コピペの方法を覚える

ここでは簡単なコピペのみを覚えましょう。
1行コピペや1行切り取りなどはすぐに身に付きます。

5. INSERTモードへの切り替えを覚える

VimではINSERTモードと呼ばれる状態にすると文字を入力することができます。
このINSERTモードへの切り替えひとつにしてもいくつかの方法があるので、便利そうなものを選んで覚えてしまいましょう。

例えば私は初めに以下の切り替え方法を覚えました。

  1. カーソル上の文字の手前から文字入力(iコマンド)
  2. カーソル上の文字の次から文字入力(aコマンド)
  3. カーソルがある行の末尾から文字入力(shift + aコマンド)
  4. 新しい行を下に追加して文字入力(oコマンド)
  5. 新しい行を上に追加して文字入力(shift + oコマンド)

マウスを使う必要がなくなります

6. ドットを使う

Vimにおけるドット(.)コマンドによって、「前の作業の繰り返し」が実行されます。
例えば、「ある行の末尾に入力した文字をその下の行の末尾にも入力したい」場合、対象の行にカーソルを合わせてドットキーを押します。
すると前の作業、つまり「末尾に文字を入力する」という作業が再び行われます。

もしドットを使わないなら、「対象の行に移動して、shift + aで末尾からINSERTモードに入って、任意の文字列を入力する」という作業をいちいちこなさなければなりません。
ドットを使えば「対象の行に移動して、ドットキーを押す」だけで済みます。

このドットによる繰り返しは非常に強力であり、非常に便利です。
できればすぐに使いこなしましょう。

6. あとは応用

ここまで来たら、他に必要だと思われるコマンド(ファイルの保存など)も覚えてしまいましょう。

一度に覚える必要はありません
普段のファイル編集作業の中で、「この作業ってVimでできないか?」と常に疑問を抱き、その都度調べて便利そうなら自分のものにしてしまいましょう

ある程度自身が付いたら正規表現を使って文字列の置換ができるようになると、より一層便利になります。

まとめ

VimとEmacsで派閥争いがあるようですが、決着がついていないので気に入った方を採用しましょう。

Vimのコマンドの組み合わせ次第では、通常1分くらいかかるような作業も1秒で完了させることが可能になります。
基本的なコマンドを複数組み合わせて新しい機能を見つけることもひとつの醍醐味と見れるかもしれません。
あと、ある作業を行うのにいかに少ないキータッチで完了するかを考えることもおもしろいと思います。

一度Vimに慣れるともう後戻りしたくないくらいにハマります。
私が思うVimのデメリットはそれくらいでしょうか。

\ SNSでシェア /

WRITER

kato

制作 kato

加藤です。
出身:神奈川県横須賀市
元半導体エンジニアのWEBエンジニア