はじめに
こんにちは。
私が Vim を真剣に使い始めて、まだそんなに時間が経っていません。
Vim の習熟曲線はとても急勾配であると言われます。
しかし、私は短期間のうちに、
標準的な他のエディタを使った場合と比較して、
およそ倍の速度でテキストを編集できるようになりました。
その方法を皆さんにもお伝えします。
タイトルに偽りはありません。
きっと、誰でもできるようになります。
むずかしくもありません。
ただ、指がつるまで反復練習をするだけです。
とても簡単です。
レッスン0
まず最初のレッスンを始める前に、前提となる条件を確認しましょう。
必須なのは、
- タッチタイピング(ブラインドタッチ)ができること
これだけです。
できない人は回れ右して帰ってください。
最近は、Vim にこだわらなくても、いいエディタが沢山ありますよ。
Sublime Text なんて流行っているし良いんじゃないですか?
タッチタイプができない人は、そういうダサいエディタを使っていた方が幸せです。
レッスン1
Vim をテクるために
Vim をテクるためには、以下を繰り返すしかありません。
- 便利な機能を知る
- ひたすら反復して身体に覚え込ませる
さらに間が空くと忘れたりするので、定期的に復習する必要があります。
なんでこんな辛いことをしなくちゃいけないんだろう、と思います。
しかし、文句を言わずに部活だと思ってやるしかないのです。
前世の業だと思ってやるしかないのです。
俺が打ち続けなければ地球に巨大隕石が落ちる。人類のためにあと5回だけ頑張れ!
と考えながらやるしかないのです。
では、簡単なものを実践してみましょう。
プログラミングの用途で Vim を使う方が多いと思います。
まず、以下のソースを Vim にコピペしてください。
#include <stdio.h>intmain(void){printf("Hello world!");return0;}
では、このソースコードの編集をしてみましょう。
あ!ノーマルモードと挿入モードとかは把握している前提で進めます!
"Hello world!" を "The world!" に変えてみよう!
概要
ソースコード中の、"Hello world!" を "The world!" に変更します。
まず、gg
と叩いて、ファイルの先頭にカーソルを持っていってください。
この、カーソルが先頭にある状態から、"Hello world!" を "The world!" に変える方法はいくつもありますが、
Vim を使う場合は、できるかぎり 「思考したこと=操作」となるような操作となるよう意識すべきです。
つまり、頭のなかで、「カーソルを下、カーソルを下、カーソルを下、そして右」みたいな、
「目標をセンターにいれて某」みたいな思考はしないはずです。
思考をトレースしてみましょう。普通は例えば、
- 5行目にダブルクォートでくくられた
Hello world!
があるようだね - そこの
Hello
をThe
に書き換えればいいんじゃないかな - よし変えた (この間約0.02秒)
とかになるかと思います。
それでは、上記の思考の流れをそのまま実行してみましょう。
記載されているものをそのままタイプしてください。
実践
- 5行目に移動
5G
Hello
を消すためにそこ(Hello
の先頭)へ移動
fH
Hello
を消して挿入モードIN
ciw
The
を入力
The
- 挿入モードを抜ける
<ESC>
- おしまい
解説
上記の 実践では、以下の操作を使いました。
G
前置した(先に入力した)行へジャンプします。
例えば 3G
だと3行目に飛びます。
行ジャンプは、他に以下のコマンドでも可能です。
:5<Enter>
ちなみに、Vim では以下で簡単にコマンドのヘルプが参照できます。
とても素晴らしいヘルプがその場で確認できるので、
ググるより先にヘルプを見てみましょう。
:h G
G [count] 行目の最初の非空白文字に移動します(行単位
|linewise|)。
カウントの前置がなければ最後の行に移動します。
'startofline' がセットされていなければ同じ桁位置に移動
します。
G はジャンプモーション (|jump-motions|) です。
f
f
に続いて入力した文字を、今いる行で右に向かって検索し、
見つかった位置にカーソルが置かれます。
ヘルプを見ておいてください。
:h f
c
c
に続いて入力したモーションを削除し、挿入を始めます。
モーションというのは、その名の通り「動作」を意味します。iw
というのが、「カーソル位置にある単語を選択する動作」を意味するコマンドなので、
結果として、「カーソル位置にある単語が削除され、挿入を始める」という操作になります。
ヘルプもね。
:h c
:h iw
反復
では、ここで学んだ操作を指がつるまで繰り返してみましょう。
gg
fH
ciw
The<ESC>
u
(アンドゥ)
これから同じような場面では完璧にこなせるはずです。
補足
上記手順は、結構まわりくどいやり方でやってます。
もちろん、Hello
をいきなり検索したり置換した方が早いです。
次回のレッスン
未定!!!!!!!