自分の開発環境
というかWindowsで開発していてeclipseとか使わない人はバージョン管理とかそういったのどうしてるんだろう?
という発言がTwitterで流れていたので、Windowsで開発していてEclipseとか使わない自分の開発環境を書いてみるてすつ。
ちなみに自分はWebシステムの受託開発が主な仕事で、使用言語はほぼPHP、希にJavaという感じ。
昔はほぼJava、希にPerlという時期もあって、その頃はEclipseばっかり使っていた時期もあった。
エディタ
エディタはKaoriYa版のvimを使用。使用っていうか愛用。
各種vimスクリプトによってIDEにも劣らぬ環境を築き上げている……というと言い過ぎかもしれないけど、だいぶカスタマイズしている。
3年ほど前までは秀丸を使い続けていたけど、Linux系の会社に転職するときに「会社で使うPCはLinuxだぞ」と言われて、退職日までの比較的暇な期間に、Windowsで愛用していたソフト群に近い環境をVMwareで構築して勉強した。
仕事柄vim自体はサーバで作業するときに使ってはいたので基本的な操作はできた。
好みに合わせてカスタマイズしたりvimスクリプトの存在を知ったのは勉強を始めてから。
たぶんこの「PCはLinuxだぞ」事件(違)がなかったら今でも秀丸だったと思う。
しかし、それよりもだいぶ昔にxyzzyを使っていた時期があったのに、なぜemacsではなくvimを選んだんだろう。
IDEを目指すならvimよりもemacsのほうが向いている気がする。
バージョン管理
基本的にコマンドライン(コマンドプロンプト)でWindows版のSubversionを使う。
差分のエクスポートとか、ツリーを見たいとか、コマンドだと難しいことだけTortoiseSVNを使う。TortoiseSVN使いやすいよね。
そしてここでもvimが連携している。
コミットコメントのエディタにvimが指定してあって、svn-diff.vimというスクリプトによって、自動的にコミット対象のdiffが表示されるようになっている。超便利。
あと、VCSCommand.vimというスクリプトも入れてあって、vim上でもCVSやSubversionの操作ができるようになっている。
その他
GnuWin32というGNUコマンド群をWindowsに移植したものを入れてある。
さすがに素でパスを通すとfindとかsortがかち合って何かのバッチファイルが動かなくなるかもしれないので、gnuと打つとパスが通るようにしてある。
GnuWin32はなんか知名度低いようだけどかなり便利なのでおすすめ。いつかエントリ書こうと思いつつなかなか書けないでいる。
あとCで遊ぶとき用にMinGWも入れてある。
Cygwinは昔は愛用していたけど今はなんかロケール設定とかマルチバイトとかで悩むので使ってない*2。
本格的にやるなら仮想マシン動かすし、日常的なコマンドならGnuWin32で十分という感じで、自分にとっては中途半端な環境。
というわけで、Windowsで出来ないことやLinuxのほうが便利なことはVMwareでUbuntuとCentOSを動かして使っている。
ブラウザとかそういうことまで書き出すとキリがないので、とりあえずこんなもんかな?
Eclipseでやることをvim(やその他のツール)でどうやってやってるのか、という視点で書いた方がよかったのかな。