RubyMineからVimに乗り換えて2年経ちました【BPS Advent Calendar: 12/08】

RubyMineからVimに変えたときに記事を書こうと思っていたら、2年が過ぎてしまいました。
なので、今日は、RubyMineからVimに変えた当時を思い出しつつ以下のような流れでVimに変えた経緯やVimの良さを書いていこうと思います。

  • なぜVimにしたのか
  • Vimライフを支える厳選おすすめ設定、プラグイン
  • 現在のVimライフ
  • Vimの布教活動状況
  • 最後に

↓私が使ってるVimの設定
https://github.com/djkazuma/vim

なぜVimにしたのか

理由その1: Vim使う人ってなんだかすごそう

「エディタなに使ってるんですか?」
Vimです!
こういわれると
「あ、なんかすごそう」、「ガチっぽい気がする」って感じがしないですか?
(私だけかもしれないですが)
Vim部部長がすごかったからか、Vimで作業する人はものすごくガチな印象が私にはありました。
ちなみにVim使ってみようと思ったきっかけはこのVim部部長がやっていたVim部の活動です。

理由その2: エディタを変えるのが面倒

私の場合、並行して作業する案件が大体3、4で多いと7、8くらいの案件を同時にやっていた時がありました。
案件によって言語がまちまちなので、Vimにする前は、

こんな感じでやってました。
EclipseとRubyMineを同時起動して作業するとか面倒だし、Rails ConsoleやDBへのアクセス、SSHでの作業とかもやったりするので、Eclipse、RubyMine、コンソールも立ち上げて作業するとかよくわからない状況になってました。
しかもRubyMineが複数起動されていて、「あれ?、この案件のやつはどれだ?」とかもあり、大変苦労していました。

理由その3: いつでもどこでも同じエディタがすぐに準備できる

家などで同じ環境を作るのにEclipseとかRubyMineだと、Webサイトからダウンロードして、それから設定してってのがめんどくさいなと感じてました。
商用で使うとかになるとRubyMineは有料になっちゃうので、ちょっとそこも嫌でした。
その点、Vimは無料で、.vimrcさえ持ってくれば大体同じになるので楽だなと思ってます。

Vimライフを支える厳選おすすめ設定、プラグイン

ここでは、これのおかげでVimの見方が変わったという設定やプラグインを紹介しようと思います。
「これがなければVimは使っていない」というくらい私の中では便利なものです。

Vimのおすすめ設定

以下を.vimrcに追加します。

" jjで挿入モードから抜ける設定
inoremap <silent> jj <ESC>

Vim部部長直伝のこの設定がものすごく便利です。
毎回、ESCで抜けていて、めんどくさいと思っていましたが、この設定のおかげでコーディングの速度が上がりました。
(ただ、この設定を使っている影響で、たまに他のエディタを使うと間違ってjjとか打っちゃうということが発生していますがw)

Vimのおすすめプラグイン

NERDTree

" NERDTreeの画面を開閉する
map <C-n> :NERDTreeToggle<CR>

このプラグインを使うことでファイルを開くのがものすごく楽になりました。

現在のVimライフ

RubyMineに戻りたいとか全くなく快適に使えています。
byobu(うらtmux)と併用の環境ですが、「エディタが複数立ち上がって画面にいっぱいある」みたいな状況がなくなったのが一番よかったなと感じてます。
あと、コーディングするのにマウス使わなくていいのが楽です。

現在、問題なくコーディングできていますが、Vimに変えた当時、RubyMineにあったコードジャンプの機能はものすごく便利だったのでVimで同じようなことを実現できないかいろいろ調べてみてやってみましたが、これだけはうまくいっていない状態です。
(最近はRailsやGemのソースコードを読む勘所もわかってきたので、なくてもあまり今は困ってないですが。)

Vimの布教活動

小川さんのしたでやる人はエディタVim、仮想端末byobu(うしろはtmux推奨)とすることにしました。

こんな暴挙に出たのは去年の3月ごろ。
去年、今年と新人が一人ずつ私のしたに入ってきましたが、問答無用でVimを使わせました。
その後も中途採用で人が入ってきて、エディタにこだわりがないという人にはとりあえずVimを進めていますが、普及率は6割程度な感じがしています。
教えたりする際に、環境が違うとちょっと面倒だったりするので、スタンダートとしてVimを推していきたい気持ちはありますが、Vimで完全に縛りたいという気持ちはなく、使う本人の業務効率が下がるようであれば使う必要はないと思ってます。(というのを私のしたでやってる人には伝えました)
が、やはりこれからもVimは推していきます。

最後に

Vimに変えた理由の中には今後のエンジニア生活で絶対役に立つという思いがあったんですが、Vimに限らずこの先、何を身につけていくのかは常に考えていきたいと思っています。

Ruby on RailsによるWEBシステム開発、Android/iPhoneアプリ開発、電子書籍配信のことならお任せください この記事を書いた人と働こう! Ruby on Rails の開発なら実績豊富なBPS

週刊Railsウォッチ

インフラ

BigBinary記事より

ActiveSupport探訪シリーズ