なんとかしてvimでJava開発するためにやったこと

こんにちは、MMMサーバサイドエンジニアの柳沼です。
お世話になっております。
最近北海道に引っ越しました。

最近はSpringフレームワークを使ったWebAPIのスクラッチ開発をしていたのですが、
STS(Eclipse)が重い 問題に悩まされていました。
STSは非常にフルスタックなIDEなので、
軽さとトレードオフなのは仕方ないのですが、
それにしても重い。 結構消耗することが多かったので、
vimでどうすればJava開発がやりやすいかを考えてみました。

結論

STS(Eclipse)を使えばいいと思う。

やったことその1 vim-quickrunの導入

vim-quickrunは、vimからjavaのコンパイル及び実行ができるプラグインです。
2017年4月現在でも、最近までコミットされています。
このように、Javaファイルからコマンドモードで :QuickRun を入力すると

おもむろにウインドウが分割され、実行結果が表示されます。

Eclipseのリアルタイムコンパイルとは違いますが…
Javaはimportなどにうるさいですが、
これでコンパイルエラーに気付けるようになります。

その2 neosnippetで補完する

neosnippetはjava特化プラグインではありませんが、
非常に便利なので入れておくのがオススメです。
.vimrcいい感じに 設定した後、
<C-k>を叩くことで、こんな感じに補完してくれます。

snippetファイルは ~/.vim/bundle/neosnippet-snippets/neosnippet 内に
デフォルトがあり、
自分で新たなスニペットを作成することもできます。

その3 eclimを使う

eclim はEclipseの機能をネットワーク越しに叩くためのインタフェースです。
Xvfbから仮想サーバを立て、その中でEclipse、Eclimを立ち上げ、vimから接続します。
基本Eclipseなので、補完機能もリッチです。

何故Eclipseを使うべきか?

  • そもそもvimってこういうことなのでしょうか?
    UNIX思想「”do one thing, and do it well”; (1つのことだけをうまくやる)」に
    合致しているあのvimからは、ずいぶん外れた使い方のように感じました。
    vimでリアルタイムコンパイルをやろうとすることは正しいのか?という呵責に、
    開発者として苛まれずにはいられないものでしょう。

  • Eclipseは最強すぎる
    強力な補完、リファクタリング機能、賢いシンタックスハイライトなど、Eclipseはやっぱり頭がいいです。
    特に、CheckStyleやstepCounterを利用が容易であること、Maven・Gradleとの親和性が高いことなど、
    さすがはEclipse先輩 と思うことはなんだかんだで多いです。Eclipseを使えば簡単なことを、わざわざvimでやる必要はないな…
    と感じました。

逆にEclipseでviコマンドを使う

vrapperを使えば、Eclipseのエディタをvimライクに使うことができます。
最初からこうすればよかった。

このエントリーをはてなブックマークに追加