最近の私のvim事情

ここのPrivate Portsがとてもよいです。作者の方本当にありがとうございます。

http://lapangan.net/darwinports/index.php?PrivatePortfile%2FVim

私はGUI版はことえりと、CUI版はUIM-FEPと一緒に使ってるので、同一バイナリでは何かと都合が悪いのです。そこで大抵別々にビルドしていれてるんですが*1、今回はkaoriyaパッチ宛済みのソースがあるならそれを使い回したいじゃん、ということで試してみます。

ということでMacPortsと手ビルドの両方で同じものを入れるためのメモ。

共通部分

新しいPortを入れる。

$ cd /opt/local/var/db/dports/sources/private/
$ sudo tar xjvf ~/Desktop/vim7.1.56.0.tbz2 
$ sudo portindex
# 確認のため
$ sudo port outdated vim

CUIvimは手ビルドしたいので、まずはpatchまでしたのをいったん退避します。

$ sudo port uninstall vim
$ sudo port patch vim +huge +multibyte +scope +ruby +kaoriya +aqua +macvim
...
$ cp -r ./editors/vim/work/vim71 ~/dev.build/vim7_1_056-kaoriya_macports

vimtutor.comがコピーできないというエラーが出ますが気にしません。

Vim.app(GUI)で使う

GUIのは普通にインストールする。

$ sudo port install vim +huge +multibyte +scope +ruby +kaoriya +aqua +macvim

フォントの設定はこんな感じでしてます。guifontに英字フォントを指定するとかっこいいんですが、日本語入力をしたときに化けるので残念ながら諦めてます。AAしたあとの好みとしてはMonaco & M+にできると幸せなんですけどねぇ。
またM+だけにすると、exのラインとかでたまに微妙に崩れるのでその辺を鑑みOsaka-Monoで。

こうすると英字部分と未確定なインライン入力がOsaka-Monoで、確定した日本語部分がM+_1mn_lightで表示されます。

set antialias
set guifont=Osaka-Mono:h13
set guifontwide=M+_1mn_light:h13
set linespace=2
" I like [torte rdark xterm16 elford]
colorscheme desert

GUI版の動作確認

$ open /Application/MacPorts/Vim/Vim.app

~/opt/bin/vim(CUI / uim-fep)で使う

とりあえずパッチ済みソースをアーカイブしてから作業します。

$ cd ~/dev.build/
$ tar jcf vim7_1_056-kaoriya_macports.tbz2 vim7_1_056-kaoriya_macports
$ cd vim7_1_056-kaoriya_macports
で、手ビルドする場合の諸注意。
  • /opt/localにあるいろいろを参照するための設定が必要
  • uim-fepの設定がconfigureスクリプトに含まれていないのでautoconfしなおす
  • あとはGUIを切ってビルドする場合にそのままでは通らない修正点がありますのでパッチを作りました。

(MacPorts中のファイルへのパッチにしたほうがいいのかな?)

--- src/os_mac.h.orig	2007-08-10 12:05:23.000000000 +0900
+++ src/os_mac.h	2007-08-10 12:05:44.000000000 +0900
@@ -73,7 +73,6 @@
 /* When compiled under MacOS X (including CARBON version)
  * we use the Unix File path style.  Also when UNIX is defined. */
 # define USE_UNIXFILENAME
-#define USE_TRANSPARENCY
 
 
 /*
@@ -145,6 +144,7 @@
 # ifndef GVIMRC_FILE
 #  define GVIMRC_FILE	"_gvimrc"
 # endif
+# define USE_TRANSPARENCY
 #endif
 #ifndef USR_VIMRC_FILE
 #  define USR_VIMRC_FILE	"~/.vimrc"

このパッチを~/Desktop/os_mac_h_tras.patchなんかに保存してください。

# uim-fepの設定がconfigureスクリプトに含まれないので再生成
$ cd src ; autoconf ; cd ..
$ patch -p0 < ~/Desktop/os_mac_h_tras.patch

あとは普通にインストール

# 改行は適当に
$ CPPFLAGS="-I/opt/local/include" LDFLAGS="-L/opt/local/lib -lmigemo" \
  ./configure --enable-migemo --enable-multibyte --enable-cscope --enable-nls --enable-uimfep \
              --disable-gui --enable-rubyinterp --with-features=huge --without-x \
              --prefix=/Users/moro/opt/vim71

$ make
$ make install

ということで私はこんな感じで行けました。

2007/08/12 9:25

今更ながら上記のリンク切れを修正しました。ごめんなさい。

*1:vimコマンドのパスをいじるのと、:guiコマンドが使えないくらいしか不便は感じてないです