こばりょ・ぶろぐ

実験物理専攻のゆるーい技術ブログ

Vim のすゝめ

EmacsからVimへ 

結論から言うと、Ctrl、altを押すのが苦手な人は一度
Vimを使ってみてください。

僕は学部生の頃から修士課程まで、何の疑いもなくemacsを使ってきました。
しかし、博士課程になり、
自分で 1 からコードを書くよりは、他人の大量のコードと睨めっこして
文字入力より、文字編集の時間が長くなったのをきっかけに、

テキストエディタの使用感、補完機能などを気にするようになっていきました。

そんな時、vimmer(Vimを愛用している信者)の先輩にvim を勧められ
まんまと術中にハマってしまい、今では、
google chromeの操作までvimライクになってしまったほどです。

Vimとは

Vim(ヴィム。「ヴィアイエム」という読み方は誤り)は、vi から派生し、発展した高機能なテキストエディタである。

by wikipedia

他のテキストエディタと大きく違うところは、以下の4つのモードを切り替えて使用すると言うところだと思います。

  • インサートモード(文字入力)
  • ノーマルモード(カーソル移動等)
  • ビジュアルモード(範囲選択)
  • コマンドモード(置換などのコマンド機能)

vim始めたての頃は以下のサイトにお世話になったので、vimに興味を持った人は是非見てみることをお勧めします! knowledge.sakura.ad.jp

Vimに少し慣れた頃に読んで、すごくためになった本は

「実践Vim 思考のスピードで編集しよう!」です! 正直、細かすぎるくらいのTipsに分かれており、言葉の節々に著者の人のVim愛が溢れすぎていました。笑

www.amazon.co.jp

Vimへの姿勢

Vimを始めたばかりの頃は、「モードの切り替え煩わしいわー」ってなる人が居ると思います。

僕がオススメするVimへの姿勢は、

全ての動作を覚えて、最適に使用しようと力み過ぎずに、
一つずつ手に馴染むコマンドを増やしていくイメージで取り組むこと

です。

Vimへの入り方としては、以下の流れがいいのかなと思います。

  1. キーバインドの変更
    例 ESC→jjとかjk

  2. 主要な動作だけ覚える
    例 ciw(カーソルがある単語を削除して入力モードになる)
      xp(文字の入れ替え) この記事の最後のgifで実際に使っています。

  3. キーバインドの最適化、プラグインの導入

上にあげた本などを参考に手に馴染むキーを増やしていく
という姿勢がいいと思います。

よく使うTips集みたいな記事も書こうと思っています!

世の中には様々な便利機能のプラグインを公開してくれている方々が沢山いるので、
自分が不便に思った動作などはぐぐると大抵、何かしらのプラグインがあります。
⚠︎プラグインは探し出すとあれもこれもと沼にハマる危険があります。

オススメのプラグインについても記事を書こうと思っています!

Vimでの編集の様子

実際のVimの編集の様子をgif にしました。 vimの見た目はがっつりプラグイン等でカスタマイズしているので
そこは後々記事で共有できればと思います。 やってることは

  • oでインサートモードになり、

  • testと入力し

  • jk(ESC)でノーマルモードに戻り

  • ciwでtestを削除してインサートモードになり

  • tsetと入力しjkでノーマルモード

  • hhでsにカーソルを持っていきxpでsとeを入れ替え

f:id:koba_ryo:20210201004905g:plain

Vimのデメリット

vimに魅せられてしまった僕は、
wordなどの入力で間違えて:wを打ったり、文章の初めにiが入っていたりと
vimの呪いにかかってしまいました。
またリモートでのミーティングが増えた昨今ならではの体験として
zoom等のホワイトボード機能を使用しているときに
公衆の面前で、文末にことあるごとにjkと入力するやばい人になったこともありました。笑)

vimのデメリットは、僕が思うにただ一つ
vimライクでないテキスト入力の際に、心の平穏が保てないことだと思います。