はじめに
よくQiitaではvim入門を謳った記事が散見されますね。
そしてその記事ではモードの概念であるとか、デフォルトのキーマップであるとか、コマンドであるとかについての説明がされがちですよね。
しかし思うのです。
vimの門を叩こうとしている人にvimの取説をしても入門してくれないのでは?
ということで今回は
- vimの門を叩こうとしている人たち
- vimの門を素通りしてしまっている人たち
に向けて、vimの魅力を伝えていこうと思います。
マウスが要らなくなる
vimを愛用する人の10割がここに魅力を感じてvimを使い続けているのではないでしょうか。
マウスを使わなくなるというかは、厳密にはホームポジションをなるべく崩さずに作業ができるようになります。
実際、vimmerと非vimmerの判別はキーボードを一瞥するだけ可能なほどにvimmerのホームポジションキーボードはツルッツルになっています。
そしてその結果、作業がかなり爆速になります。これはvimを使った際の効果として有名ですね。
作業が楽しくなる
これは誇大広告ではありません。
楽しくなる理由は、vimの学習コストにあります。
世間では
vimの学習コストはpythonの学習コストを上回ってしまってる
と言われているように1、vimというのは最初の学習がぶっちゃけ大変です。
しかし大変故にvimのコマンドを使いこなして作業できるようになると、優越感を味わえるようになってきます。
覚えたコマンドを組みわせて最小限の操作で行いたい編集ができた時はかなり気持ちいいです。
vimを使った作業は常にRTAをしているような感覚なのです。そして、それが楽しいのです。
以下は実際にvimを使って編集している様子です。(わざと遅く入力してます)
5行目の"uvwxy"をカットして1行目の"abcde"にペーストするという作業です。
めちゃくちゃ早いですね。カーソルすら動かす必要がありません。気持ちいいです。
自分だけの心安らぐエディタを作れる
vimはinstallした直後は本当にただのエディタです。裸のエディタみたいな感じです。(写真はneovim)
ダサいですね。(諸説あり)
しかし、vimにはこの裸のvimを装飾するためのプラグインが数えきれないほどあります。vimの文化のほとんどはプラグインの文化と言って差し支えないのです。
そして、vim本体が本当にただのエディタであるが故に、プラグインもかなりプリミティブなレベルの拡張であるものが多いです。
タブ表示に関するものや、ファイラに関するもの、字句やファイルなどの検索に関するものなど様々で、さらにそれらのプラグインも主流なものが複数あったりして、要するに人によって全く違うエディタが出来上がります。
以下は筆者のneovimです。
カスタマイズの内訳を簡単に説明しますと、
colorschemeはtokyonightを使っています。
そして細かいですが、エディタの行数表示を絶対値ではなく相対値表示させるようにしています。
luaのLSとインテリセンスを有効にしていて、関数にカーソルを合わせるとちゃんと関数の引数の情報も得られます。
画面下部のステータスバーはシンプルになるようにカスタムしました。
というように、vimは真っ裸の状態から好きなプラグインを入れていって自分だけの心安らぐエディタを作り上げることができます。
某ぶつの森や、盆栽が好きな方はめちゃくちゃハマってしまうと思います。2
自己陶酔が気持ちいい
vimはターミナルから起動するアプリです。
つまりvimを使うということは必然的にターミナルをホームとして作業を進めることになります。これが何を意味するか?
ターミナルに引き篭もってる俺、カッケーーーーーー!!!!
となります。至極当然の感覚ですね。
vimmerは多少なりこの種の自己陶酔に常に浸りながら作業をしています。(偏見)
しかし実際この自己陶酔というのは意外と大事だと思っていまして、どういうことかというと
vimを使うのが気持ちいい、楽しいから何か作業をしたくなる
といった如何にも本末転倒な発想が生まれることがあるのです。
つまり、何か作業があるからvimを使うのではなく、vimを使いたいから何か作業をしようという発想です。
vimはただあなたに動かされるだけのエディタではなく、あなたを机に動かしてくれるエディタたり得るというわけですね。
最後に
自分なりにvimの魅力的に感じているところを言語化してみました。
どうでしょうか。入門したくなりましたか。
もしその気になった方は、ぜひ以下の動画を見ながらご自身の手でneovimを作り上げてみてください。
ハンズオンで進んでいくので、プラモデルを組み立てるような感覚でneovimが出来上がっていきます。楽しいです。
ちなみに、手っ取り早くvimを触ってみたいという方は、以下のセットアップ済みのneovimをinstallして使ってみるのも良いです。
では、良いvimライフを!!