haphysics blog - 幸福の物理ブログ

みんなに物理と工作と幸福をお届けするのだァ~!

vimのさなぎ

本当にあった怖い話

 ロボット技術研究会にはいろんな人がいます。特に怖い人たちが多くいます。
今週はそんな怖い人たちの怖い話を聞きながらvimという怖いものの設定をしました。

華やかな.vimrc

 今まではVimってなんだっけ? - 幸福の物理に書いた通り、
たった一行"set number"だけだった.vimrcがこれほどまでに冗長になりました。
f:id:shitaro2012:20140816223659p:plain

 特に捗るのが補完をしてくれるneocompleteというプラグインです。
画像のように賢い自動補完をしてくれるシロモノ。
なんでもっと早く入れなかったのか、悔やまれるくらい便利です。
 ただ、一つ重大な問題がありました。それはvimlua有効でなかったということです。
そのためにvimを再ビルドすることを強いられるという教育的方法を実行することに。
そしてやっと+lua*1の称号を獲得しました。
Ubuntuの落とし穴?
f:id:shitaro2012:20140816224208p:plain
↑二列目中央下側に+luaが!これでプラグインが使えます!

Gitって便利じゃん!

 vimと合わせてGitをちゃんと使ってみました。
これ、とても便利ですね。
.vimrcを始めとする設定を共有したり、すごい人たちがつくったライブラリを常に新鮮な状態にしたり・・・。
これでバージョン管理に悩まされることがなくなると言ってもいいのではないでしょうか。
ちなみに私は
Shitaro · GitHub
に随時アップしてます。
といってもまだ.vimrcだけですが。
この夏で使いこなしてみたいです。面白い!

vimを使ってゲームプログラミング

 いろいろとvimをいじったので、簡単な2Dゲームを書いてみました。
しかしせっかく今までにないことをしたので、使ったことのないライブラリを使おうと考えました。
そして出会ったのがこのSFMLである。
これはマルチプラットフォームなスゴイやつで、DXライブラリと比較しても(2Dゲームに関しては)引けをとらないものです。

 まず驚いたのは書きやすさです。
以前書いてたシューティングゲームではキャラクターを管理するためのクラスを書いてたのですが、
SFMLでは簡単な図形に対して既にその管理するための機能が備わっているのです。

 公式サイトにあるWikiにはチュートリアルがあり、簡単に始めることができました。
f:id:shitaro2012:20140816223721p:plain
↑ウィンドウを生成して中に緑の円を描画するプログラムをvimで書いたもの。ちゃんと補完機能が働いていることに感動しました!

 そしてチュートリアルにしたがってできたのがブロック崩しゲームです。
途中、C++11の闇に触れることができました。C++って奥が深いですね。
色々な機能があるのに全然使ってないなあと思いました。
f:id:shitaro2012:20140816223728p:plain
↑緑のバーを左右に動かして赤い円を弾くことで黄色ブロックたちを消すゲーム。当たり判定に初めてtemplateを使いました。いいですね、template。

 というわけで簡単にかけちゃいました。周りの人にSFMLを薦めたくなっちゃった。

まだまだ進化するvim

 冒頭でも述べたとおり、rogyには怖い人がたくさんいます。
その人たちから怖い話をもっともっと聞いて怖い人になれるように頑張りたいです。
当面はスニペットtexコンパイルvimでできるようにしたいです。
vimは日本語とは相性が合わないのかしら・・・?

└(՞ةڼ◔)」<Vimゥ~!

*1:つまりluaが有効になった、ということ。