vimというエディタを使って何が便利なのか教えてください
まず概要に関してはWikipediaの記事を読んでください。
歴史に関して抜粋すると
- 大昔にviというUnix上で動作するエディタが存在した
- とあるプログラマがパソコンを購入したがviが使えなかったので、そっくりなソフトを作ってVim(viの模造品)という名前を付けた
- Vimが様々なOSに移植されて、今日では全てのOSで広く使われるようになった
- むしろviと銘打ってるソフトもほとんどが内部がVimな勢い
ここからは私が実際にVimを触って感じた主観的な内容を述べていきます。
Vimは全体的に優れているので理由を挙げれば色々あるかと思います。
しかし一つだけ挙げるとすればノーマルモードという文字入力しないモードという概念を持っている事が一番大きいと考えています。
普通のエディタはAキーを押せばすぐに「あ」もしくは「a」という文字がその場所に挿入され、Shift+Aキーなら「A」が挿入されます。
Vimの場合は違います、
Aキーは次の位置で挿入モード、Shift+Aキーは行末に挿入モードになります。
これの何が便利やねん? 文字入力するために1アクション余分に掛かって愚鈍じゃないか!
それを説明するにはショートカットキーに関して語らねばなりません。
普段私達はコピペというショートカットキーをよく使うと思います。
Ctrl+Cでコピー、Ctrl+Vでペーストですね。
あれ便利ですね、仕事はショートカットを覚えれば覚えた分だけ仕事が早くこなせるようになると言っても過言ではありません。
ところであなたが覚えているショートカット、何キーと何キーの組み合わせですか?
えっ、CtrlやAltと組み合わせないと何も出来ないですって????
CtrlやAltにはOS全体のどのアプリでも似たような動きするショートカットが多く存在し、
エディタ独自の強力なショートカットキーというのは限られています。
Vimはエディタ開いた瞬間はノーマルモードでしたね。
つまり、A〜Z全てのキーがカーソル位置をワープさせたりコピペしたり文字を単語単位で消したりといったショートカットの宝の山なのです。
もちろんShiftやCtrlキーと組み合わせることも可能です。
Vimの上級者はたった数タイプで瞬時にカーソルを狙った場所に一撃でワープさせ、コピペも一瞬、狙った文字だけ消して書き直したり、複数の単語を同時入力して編集していくというデタラメな入力速度を誇ります。
まさにハッカー1人は初心者のエンジニアの何百倍の生産性を誇るとかそういった世界の話です。
今でこそAtomやVSCodeといった優れたエディタがあるのでまだGUIのエディタでも頑張れますが、
Vimの地位は当分揺らぐことはないでしょうね。