Daily Archive for June 15th, 2008

refe2.vim

Rubyリファレンスマニュアル刷新計画ですすめられている新リファレンスシステムを、Vimから引けるようにしてみました。

ダウンロード

コード

つかいかた

Rubyのファイルを編集中に、単語の上で K を押すと該当するリファレンスマニュアルのページに飛びます。

必要なもの

  1. Rubyリファレンスマニュアル → るりまWiki から
  2. --enable-rubyinterp つきでコンパイルされたVim

準備

0: refe2.vimの一式をcheckout。

1: ダウンロードしたRubyリファレンスマニュアルにパッチをあてます。

  % cd ruby-refm-1.9.0-dynamic
  % patch -p0 < /tmp/refe2-vim/bitclust.patch

2: refe2.vim の中の s:bitclust_path に bitclustのパスを指定します。

3: refe2.vim を ~/.vim/ftplugin/ruby あたりにコピー。

ToDo

  • 色付け
  • 文脈に沿ったリファレンスの表示。 たとえば、
arr = [1,2,3]
arr.first

というコードがあったときに、 arr.first で検索してもちゃんと Array#first にひっかかるようにしたい。 Vimスクリプトの中のRubyインタプリタで周辺をevalしたらできたりしないだろうか。

その他

今回はじめてVim (+Ruby) スクリプトを書いてみました。 てんで荒削りな実装なので、コードの添削、書き換え、forkなど、どしどしやってもらえると幸せです。

CodeReposとgithubを併用する

CodeReposをありがたく使わせてもらっているけど、githubにも同じコードを置きたい、ということがよくありますよね。あるんです。以下はそのときのためのメモ。

プロジェクトを始めるとき

  1. CodeReposにファイルやディレクトリ一式 (X) をつくってcommit
  2. githubにレポジトリをつくる。(自分用のclone URL を Yとする)
  3. git svn clone で CodeReposにつくった一式 (X) をcheckout
  4. checkoutしたディレクトリで、git remote add github Y
  5. git remote push github

この手順でやればOK。 先にCodeReposでcommitしておいてからgit svnでcheckoutというところがミソなのかなと。

refe2-vim というプロジェクトをはじめることを考えます。

  1. mkdir $CODEREPOS/lang/vim/refe2-vim (X)
  2. create new github repository → http://github.com/mootoh/refe2-vim/ (Y: git@github.com:mootoh/refe2-vim.git)
  3. git svn clone http://svn.coderepos.org/share/lang/vim/refe2-vim
  4. cd refe2-vim
  5. git remote push github

だいたいこんなかんじ。

日々commitするとき

  • ローカルに commit
  • CodeReposにcommit (git svn dcommit)
  • github にpush (git remote push github)

でOK。


ToDo: Mercurialも混ぜてみる