知識

Vimのメリットは何?Vimを使うと人間にいかなる変化が起きるのか?

駆け出しエンジニアがVimを使ってる人の開発画面を見た時「カーソル移動はえー」という衝撃のまま「実践vim 思考のスピードで編集しよう」を勧められ、実践し始めた話を聞いた。

駆け出しエンジニアでVimを使い始めた男性がいるとの連絡を受け、我々は急遽取材を申し込んだ。

なぜいまVimを? 駆け出しエンジニアが使うメリットは? ふつふつと疑問が湧く。

男性はいつも使用しているという個室型のコワーキングスペースに案内してくれた。

二十代半ばの彼はざっくばらんに取材に答えてくれた。
ただ、ときおり我々に向けた視線をずらして一点を見つめ、膝においた両手をせわしなく動かすことがあった。

──いつからVimを使いはじめたのですか?

「2日前っすかね」

──きっかけは?

「狂信的なファンがいるものに興味があるんですよ。で、Vim もそういうものらしいとは知ってました。

直接のきっかけはVimを使ってる人の開発画面を見たことですね」

──具体的には?

「RUNTEQというスクールの伊藤講師の開発画面を見たときっすね。『カーソル移動はえー』って思いました。

Vimtutorってのがあるのを知って、とりあえずやってみました。

そのことをSlackに投稿したら『実践vim 思考のスピードで編集しよう』っていう誇大広告みたいなタイトルの本を勧められました。伊藤講師に。

その本のレビューが笑っちゃうくらい絶讃で 笑。ほんとかよ、って興味が出て、それちょっとずつ実践してるって感じっすね」

──Vimを使った印象は?

「最初はノーマルモードとインサートモードに慣れなかったですね。

インサートモードだけでよくね? みたいな。なんでコード書くのにいちいちコマンド打たなきゃならねーんだよって」

──Vimへの思いが変わったのは?

「『実践vim』に書いてあって共感したのは、コードを書くのはあくまで作業の一部ってことです。

よく考えたら、カーソル移動してる時間超長くねって思いました。

で、あれってめちゃストレスなんすよ。トラックパッドでカーソル移動しても、なんか変なとこいくし。十字キーを連打するのも面倒じゃないすか。上下の矢印キーなんてちっちゃいし。コピーの範囲もじゃっかんずれるし。

画面に手を突っ込みたくなります」

──Vimはカーソル移動が便利ということですか?

「そうっすね。ノーマルモードまじ感謝っす。

h、j、k、l でカーソル移動できるのもイカしてるんすけど、いまはwとbにメロメロです。まじ最高です。言葉単位で移動できますから。名詞と助詞も区別してくれるんすよ。

ボタン連打しなくてもいいんです。まじ最高ですね。アメンボみたいにスイスイ移動できます。蝶のように舞い蜂のように刺すんです。ストレス激減っす」

──詳しく教えてください

「僕も含めて初学者って同じコードの箇所をいじることが多いんですよ。renderとか変数の定義とかでエラーでちゃうんで。まずここで1つムカッとポイントが入ります。

で、エラー読み解いて、こうちゃうかな、ってコードを書き直すんですけど、該当コードに移動するまでに実はムカっとポイントが入ってるんですよ。すぐたどり着けないから。で、2つ目っす。

で、修正したコードでまたエラー。3つ目です。フルコンボ達成っす。メンタルがゴリゴリに削られます。

コードに移動するストレスは見過ごされがちですけど、半端ないんすよ。頭のなかに正解が浮んでるときなんて余計にストレス感じますよ。あと誤字のストレスも減ります」

──誤字のストレス?

「もっと正確に言えば、誤操作っすかね。

とりあえず誤字へのストレスが激減します。『あーまちがえて打っちゃった、バックペースっと、あーいきすぎちゃった』。これがなくなります。

ノーマルモードでuを押せば元通りになります。さらに連打すればその前に戻れます。指一本、まじ最高です。

あとでかいのは、何かの拍子に文字を打つハプニングを防げます。ノーマルモードでは文字打てませんから。これは結構でかいです」

──おすすめのコマンドは?

「極めてよい質問っすね。dd、daw、^、、、いろいろありますが、、、ノーマルモードで使えるvコマンドですかね。あれは中毒っす。範囲指定を開始するコマンドです。

カーソルだと慎重になるんですよね。でももうあの面倒さとはおさらばです。v押してw、b、$とか指定すれば曖昧さなんてどこにもありません。

意思ある生命のようなカーソル移動には感動すら覚えます。もうひとりじゃないっす」

──最後にひとことお願いします

「Vim布教してる人はもっと滑らかなカーソル移動で心理的ストレスが激減することを伝えるべきっすね。駆け出しエンジニアはもっとハッピーになれるはずです。

僕が伝道師になります。ということで、あの質問してください。ファンにコメントもとめるやつ」

──はい?

「お決まりのやつですよ。わかるでしょ」

──・・・ファンにひとことお願いします

「便利コマンドはたくさんあります。oとかdawとかddとか。

けど一番はカーソル移動です。行きたい場所にすぐアクセスできるUXは最高です。コードを書くことだけに集中できます。いかにカーソル移動にストレスを感じていたかがわかるはずです。

そう思えるのにそれほど学習時間はかかりません。Vimはあなたに寄り添います」

 

対談が終わると彼は左手をわずかに上げて中指で何かを押す動作をした。そして「対談モード終わり」と小さく呟いた。


帰りしなに彼が視線を向けていた箇所が目に入った。Vimのチートシートが貼ってあった。

彼は言いよどんだり、訂正したときにも指を動かしていた。自分の言葉を編集していたのかもしれない。もちろんVimで。「深淵を覗くとき、、、」という言葉が脳裏をよぎる。

印刷したチートシートを渡そうとする彼の好意を丁重に断り、取材の礼を言って我々は帰路についた。Vimという深淵を覗いた彼は今後どうなるのだろうか。

RUNTEQにご興味のある方は、下記リンクより、お気軽に説明会へご参加ください。 https://runteq.jp/