メインの開発ツールをVimからRubyMineに変更した理由


## はじめに

突然ですが、僕は過去にこんな記事を書いてQiitaに投稿していました。

[脱初心者を目指すなら知っておきたい便利なVimコマンド25選 (Vimmerレベル診断付き)](http://qiita.com/jnchito/items/57ffda5712636a9a1e62)

[脱初心者を目指すVimmerにオススメしたいVimプラグインや.vimrcの設定](http://qiita.com/jnchito/items/5141b3b01bced9f7f48f)

こういった記事を読んだことのある方はもしかすると「やっぱりjnchitoさんは普段からバリバリVimをつかいこなしてるんだろうな～」と思っているかもしれません。

が！！

実は1年前ぐらいからVimではなくRubyMineをメインで使っています。
そこでこの記事ではなぜ僕がRubyMineを使うようになったのかを書いてみます。

![Screen Shot 2014-12-01 at 4.36.27.png](https://qiita-image-store.s3.amazonaws.com/0/7465/cfee9555-61f7-4026-8b0c-d36d6f7d9345.png "Screen Shot 2014-12-01 at 4.36.27.png")


## 「なんでRubyMineにしたの？」

理由は大きく分けて2つあります。

### 理由1：Vimのプラグイン管理に疲れた

Vimは無料で使えます。便利で高機能なプラグインもいっぱいあります。
プラグインを駆使すればRubyMineに負けないぐらいリッチな開発環境が作れます。
.vimrcを編集すれば自分の好きなようにカスタマイズできます。

・・・が、僕はそれに疲れましたorz

もっと正確に言うと、MacVimのバージョンを上げてから今まで使っていたプラグインの調子が悪くなったのが最大のトリガーです。
プラグインのバージョンを上げたりしても時々画面表示がおかしくなったりして、そういう原因調査にかける時間がもったいなく思えてきました。
とはいえ、放置し続けていても毎日触る開発ツールなので問題が起きるとストレスが溜まります。

また、無料の優秀なプラグインがたくさんあるものの、「プラグインを探す/見つける => インストールする => .vimrcを編集する => 使い方を習得する」というステップはそれなりに時間がかかるので、面白そうなプラグインがあってもついついインストールが後回しになってしまいます。

さらに、上で書いたようにバージョンアップ後に不具合が起きたり、他のプラグインと設定がコンフリクトして思ったように動かなかったり、インストールしたあとも気を遣ってあげないと調子が悪くなります。

Vimの鉄人であれば「それを乗り越えてこそ！」と思うのかもしれませんが、僕としてはそこに多くの時間を費やして開発の時間が削られてしまうのは本末転倒な気がしました。

それならお金を払ってでも最初からキッチリ面倒を見てくれる開発ツールを使いたいと思ったのがRubyMineを選んだ大きな理由です。

いやらしい言い方かもしれませんが、「時間をお金で買う」ためにRubyMineを購入することは僕にとって理にかなっていることだと思いました。

### 理由2：「Ruby = 動的型付言語 = IDEなんて無理」という思い込みが覆された

JavaやC#のようなコンパイル型の言語であれば、IDEとの相性がいいのはよくわかっています。
実際僕もかつてはEclipseやVisual Studioをよく使っていました。

一方、Rubyは動的型付言語です。
つまり、実行する瞬間まで何がどうなるか事前に予測するのは困難です。
よって、何が起きるのか事前に決定できない以上、EclipseやVisual Studioの並の便利機能をIDEが提供できないことはどう考えても明らかです！！

・・・と思い込んでいました。西見さん（@mah_lab）のこのブログを読むまでは。

[イマドキ、Ruby on Railsで開発するならエディタはRubyMineだよね？ 6出たよー！](http://blog.mah-lab.com/2013/12/09/rubymine/)

![Screen Shot 2014-12-01 at 11.29.14.png](https://qiita-image-store.s3.amazonaws.com/0/7465/4ada00ff-39ca-db22-bac0-a14bec425974.png)

これを読むと「Ruby = 動的型付言語 = IDEなんて無理」という僕の中の方程式が実は間違いだったのでは？という気がしてきました。

もともとEclipseやVisual Studioを使っていた人間なので、IDEには抵抗はありません。
というよりむしろ、IDEのリッチなデバッガやリファクタリング機能は大好物です。
なので、RubyMineを試さない理由はありません。

## 「で、RubyMineはどうだったの？」

かれこれ1年ほど使い続けていますが、RubyMineは最高です！
これなしでは開発できません。

いや、開発できるけど効率は絶対落ちます。

## 「どこが最高なの？」

それはこのアドベントカレンダーの中で他のみなさんが教えてくれるはずです。
乞うご期待！！

## 「でも、Vimの便利さは捨てがたいのでは？」

大丈夫です。IdeaVimというプラグインを使えばVimの主要な便利コマンドはRubyMineでも引き続き使えるようになります！

たまにサポートされていないコマンドがあったりしますが、日常的に使う主要なコマンドはほぼカバーされているので、個人的には十分Vimっぽく使えるプラグインだと思っています。

[IdeaVim](http://plugins.jetbrains.com/plugin/164)

## 「だけど有料なんでしょ？」

はい、確かに有料です。

しかし、最初の30日間は無料で全ての機能が使えます。
僕もこの無料期間で試した上で乗り換えることを決めました。

Rubyで仕事をしている人はお金を払ってでも購入を検討すべき開発ツールだと思います。

また、趣味でRubyを使っている人でも、デバッグやコードリーディングにちょっと時間がかかりすぎていると感じている人は、RubyMineを使った方が効率よくRubyのプログラムを開発できるかもしれません。

有料ですが「社会人なら個人でもこれぐらい余裕で払えるでしょ？」という程度の価格だと思います。
日常的にRubyのコードを書く人ならRubyMineから得られる恩恵で十分ペイするはずです。

詳しい価格やライセンスに関するよくある質問に関してはこちらのページでご確認ください。

- [RubyMine - 価格](http://samuraism.com/products/jetbrains/rubymine)
- [JetBrains製品に関する良くある質問と答え](http://samuraism.com/products/jetbrains/faq)


## まとめ

というわけで、今回の記事では僕がVimからRubyMineに乗り換えた理由を書いてみました。
具体的な便利機能はきっと他のみんなが書いてくれるはずなので、もっと効率よくRubyやRailsを開発したいと思っている人はぜひこのあとの記事にも注目してみてください！！

[RubyMine Advent Calendar 2014](http://qiita.com/advent-calendar/2014/rubymine)