最近の私の開発環境
こんにちは、熊谷です。
暑い夏もようやく終わるかなという涼しげな日が続く今日この頃、皆さんはいかがお過ごしでしょうか。
MacBook Airユーザな私としてはこの涼しい日のおかげで熱くならずに快適な作業が出来るぞ!と喜んでいます。しかも、つい先日有名なシングルコア問題等々に対処したというアップデータが公開され、すぐさま当ててみたのですが、気温が下がったからなのかこのアップデータのおかげなのか、今のところMacBook Airの熱問題が解消されたような気がしています。
そんな今日この頃ではありますが。今回はこのAirでの私の開発環境について紹介したいと思います。
ターミナルでの開発やらEclipseやらTextMateやらいろいろ試してみたのですが、結局のところターミナルでの開発、zsh+screen+vimでの開発が一番しっくりきています。
初めのうちはiTermを使用していたのですが、どうにもこうにも慣れてくるとそのスクロールの遅さが気になり、いろいろ探し回った結果urxvtを使用しています。標準のTerminal.appは256colorが使えなかったり、文字幅の問題(○や□といった全角記号が半角の文字幅になる)があったりと開発という面ではちょっと不便です。iTermの場合は文字幅の問題はパッチを当てることにより解消されるので問題はないのですが、なにぶんスクロールが遅い。そんなことでurxvtに落ち着いています。
ちなみにurxvtはMacPortsで、
sudo port install rxvt-unicode
でインストールすることでがきます。そんなことでこのurxvt上でzsh+screen+vimを使っています。もちろんscreenはCVS版、縦分割やlayout機能がないとやっていけません。CVS版スクリーンのMacPortsでのインストール方法は以前書いたこちらを参照してみてください。
で、メインとなるvimですが、いくつかvimスクリプトを使っています。autocomplpop.vim、fuzzyfinder.vim、project.vim。この3つは欠かせません。
project.vimはその名の通りファイルをプロジェクト単位で管理するスクリプトで、<Leader>Cでプロジェクトを新規作成しファイルを追加していきます。
また
nmap <silent> <F3> <Plug>ToggleProject
という感じで、F3でこのプロジェクトのファイル一覧のトグル表示を出来るように設定しています。
autocomplpop.vimは保管項目を自動的にポップアップしてくれるスクリプトで、先のproject.vimとこれがあればもうIDEのような環境のできあがりです。
fuzzyfinder.vimはバッファやファイル、タグ等々を簡単に開くためのスクリプトです。
nnoremap <silent> <C-@> :FuzzyFinderBuffer<CR>
nnoremap <silent> <C-]> :FuzzyFinderTag! <C-r>=expand(`<cword>`)<CR><CR>
こんな感じで、C-@でバッファの切り替え、C-]でFuzzyFinderのタグジャンプを使用できるように設定しています。
これら3つのスクリプトがあればもうvimは最強ですね!
あと、開発で欠かせないものにコミュニケーションがありますが、これももちろんurxvt上で、screenで画面を分割してIRCクライアントであるirssiを使っています。ちなみにこのirssi、perlで機能を拡張することが出来ます。最強ですね!
以上が今現在の私の開発環境です。Eclipseやら何だかんだ使ってきましたが、やはりこの環境が最強ですね!