VimでTopCoder

これまで数回しかやって来なかったTopCoderだけど、これから本腰入れてやってみようと思った。

でも公式のアプレットで書くのは面倒だし、僕のIBM ThinkPad X60に入ったUbuntu環境だとEclipseCoderプラグインも重いってかJava VM的にちょっと嫌だし。

それで、最近のマイブーム"vim"のプラグインを探したら、ありましたVimCoder.jar

僕のUbuntu12.04環境への導入をメモする。

 

0:vim環境の準備

僕のvimプラグインは、NeoBundleで管理している。

ググれば使い方は出てくるので割愛。

 

1:TopCoderアプレットのダウンロード

EclipseCoderだとボタンを押せばアプレットのダウンロードからログインまで自動でやってくれて便利だけど、VimCoderだと自分でしなきゃいけない。

TopCoderにログインしてO(n)のところを押せばいいんだけど、UbuntuChromeではJavaが動かなくて詰まった。

Firefoxでダウンロードすれば問題なかった。

 

2:NeoBundleでVimCoder.jarプラグインをインストール

~/.vimrcにプラグインリポジトリを記述。

NeoBundle 'git://github.com/vim-scripts/VimCoder.jar'

で、vimを再起動してインストール。

:NeoBundleInstall

これで、~/.vim/bundle/VimCoder.jar/ディレクトリができる。

 

3:TopCoderアプレットの設定

さっきダウンロードした"ContestAppletProd.jnlp"を起動してログイン。

Options->EditorのAddをクリックし、

・Nameには適当な表示名

・EntryPointにはcom.dogcows.VimCoder

ClassPathには~/.vim/bundle/VimCoder.jar/VimCoder-0.3.2.jar

を入力。

ClassPathはフルパスを入れた。

 

これで設定は終了。アプレットのエディタ設定画面をSaveしてCloseする。

僕のgVimが入っているUbuntu環境ではこれで動いたけど、winとかの人は、gVimを入れたあとPATHを通してコマンドラインから呼べるようにしなきゃいけないかもしれない。

その場合は、この設定画面でさっき追加したVimCoderの名前を選択してConfiguerを押して、呼び出すコマンドを書くと思われる。

あとここでコンテスト関連ファイル(ソースコードとか)を格納するディレクトリを設定できるっぽい。

 

使い方は至って簡単。

TopCoderアプレット起動

アプレットで問題を選択

③勝手にgvimが起動するからそこに回答を記述して保存

アプレットのcompileボタンを押してコンバイル。このとき、勝手にソースコードTopCoder鯖にアップされるみたいだけどよく覚えてない(少なくともSavaボタンを押せばアップロードされるから、それしてからコンパイルかも)

⑤通ったらTestして、良さげならSubmit

 

なんか知らないけど、デフォルトで指定されているgvimではneocomplcacheが動かなくてSyntax Errorで時間食われて心が厳しい。