Engineer as a Lifestyle @tenkoma

What We Find Changes Who We Become -- Peter Morville『アンビエント・ファインダビリティ 』

開発環境改善日記(2009-10-02) perlスクリプトの編集でKomodo EditとMacVimを試す

さすがに1ヶ月ブログ放置はいかがなものかと思ったのか、書きます。日付が9月になっているのはカレンダーの月リストを埋めるためです。
Perlスクリプトの編集でKomodo EditとVimを試しつつ、project.tar.gzとgit-vimに脱線する日記になります。

NetBeansPerlスクリプトはいける?

多少検索した感じではプラグインによるシンタックスハイライトのサポートはないようです。

Komodo Editはどうか

Komodo Editは最近触ってみた割と軽いIDEで、僕にとって以下の点が気に入りました。

  • 多くの言語のシンタックスハイライトをサポート(Perl/PHP/Python/Smarty/Django Templateまで!)
  • プロジェクトの構成を1つのファイルに保存して、「プロジェクトを開く/閉じる」ができる(1つのファイルに設定をすべて保存するところが気に入りました)
  • viキーバインドをサポート

NetBeansにもviキーバインドプラグイン(jviプラグイン)はありますが、Mac OS Xでコマンドモードに移行すると、ウインドウが非アクティブでウインドウ色が変わってしまうため、常用しにくいです。Windowsでなら、大丈夫だったと思いますが。Windowsでも非アクティブになりました。ですがあまり気にはなりませんね。
Komodo EditのviキーバインドNetBeansのそれよりは使いやすい感じです。
ただ、1点気になるのが、visualモードでの範囲選択に違いがあることです。vで選択を開始して、カーソルを右に移動し、yでヤンクすると、vimではカーソル位置までヤンクされますが、Komodo Editでは1文字手前までコピーされます。vimを用途により使い分けることから、この違いは結構つらいです。どなたか、この挙動をvimにあわせる方法をご存じでしたら教えてください。

そしてvimに戻る

複数のファイルを編集するので、project.tar.gzで、プロジェクトのツリーを作っていました。ひととおり作り終わって、git-vimというプラグインがあったのを思い出し、試してみました。

MacVimを使っていてgitコマンドが見つからないとおこられたら

コマンドラインvimではgit-vimが使えるんだけど、MacVimでは無いと言われることがあります。僕はPATHの設定を.zshrcに記述していますが、それがMacVimに伝わっていないようです。
MacVimでMacPortsでインストールしたctagsを使う - 寄り道ばかりの お勉強日記★によれば、PATHの設定を.zshrcではなく.zshenvに書けばよい、とのこと。修正したところ使えるようになりました。

(git-vim + project.tar.gz)ディレクトリで、git関連コマンドを実行するには?


というわけでproject.tar.gzを使った画面です。さて、READMEを読むと、各種コマンドを実行する方法は簡単です。ファイルを開いて、「:GitStatus」(短縮して\gs)などと打ち込めばいいです。しかし、フォルダまたはリポジトリ全体に対して実行したい場合はどうすればいいでしょうか?少し考えましたが、project.tar.gzを使っていれば、\Eでカーソル位置のディレクトリをListできるので、「\E\gs」でディレクトリに対してgit statusした結果を表示できました。

branch名をvimのステータスラインに表示する

はじめにgit-vim入れた - hakobe-blog ♨のようにgit-vimで提供されているGitBranch()を使う方法を試してみましたがうまくいかなかったので、git の branch を vim のステータスラインに表示 - #生存戦略 、それは - subtechの方法を利用しました。(エントリー中では、シングルコーテーションが実態参照に置き換わっているので、置換しましょう)
で、.vimrcにstatuslineにgit branch名を表示 · tenkoma/dotfiles@f9e827e · GitHubの修正をほどこし、現在のstatuslineは次の通り設定しています。

let &statusline = ''
let &statusline .= '%<%F %h%m%r%w'
let &statusline .= '%{g:gitCurrentBranch} ' "git のブランチ表示
let &statusline .= '%='
let &statusline .= '%y' " filetype
let &statusline .= '[%{&fileencoding == "" ? &encoding : &fileencoding}]'
let &statusline .= '[%{&fileformat}]'
let &statusline .= '  %-14.(%l,%c%V%) %P'

ステータスラインの表示に関しては、上記の画像サムネから元画像に飛んでください。

まとめ

NetBeansPerlスクリプトをカラーリングする方法か、Komodo Editのviキーバインドのビジュアルモードの挙動をなんとかする方法を教えてください。