Vimをコンパイルしたよ

以前から気になっていたVimコンパイルをしてみたのでした。
環境:Xubuntu 11.04 64bit

先にインストールしておくもの

$ sudo apt-cache search ncurses-dev
$ sudo apt-get install -y libncurses5-dev

コンパイルしたときにwith-tlibがなんとか〜と怒られました。
ncursesをインストールしておくと大丈夫とかなんとか、らしいのでそれをインストールしておきます。

ダウンロード

$ wget ftp://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2
$ tar xvfj vim-7.3.tar.bz2

ダウンロードをして、展開します。
そのあとパッチのダウンロードを。

$ cd vim73/
$ mkdir patch
$ cd patch/
$ wget ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.*
$ cd ../

パッチの数が結構あるので少々待ちます。

パッチの適用

$ cat patch/7.3.* | patch --dry-run -p0

とりあえず--dry-runで実行します。(反映はされない)
リバースパッチがなんとか、と数回聞かれるのですがよくわからないので、
パッチを当てるときは無視してもらいます。

$ cat patch/7.3.* | patch -p0 -N

./configure

$ ./configure --help

いろいろオプションが出てきますが……とりあえず今回は

--prefix=$HOME/Binary/Vim インストール先ディレクト
--enable-multibyte マルチバイト対応
--with-features=big tinyとかsmallとかbigとか(tinyはaptのvim-tinyみたく機能が制限されるのかな?)
--enable-fontset
--enable-cscope cscopeとの連携?
--disable-selinux SELinux無効化?

を付けておきます。GUI無しです。ただ単につけ忘れただけなんですが。

コンパイル

$ mkdir -p ~/Binary/Vim
$ ./configure --prefix=$HOME/Binary/Vim --enable-multibyte --with-features=big --enable-fontset --enable-cscope --disable-selinux
$ make

コンパイルします。失敗してconfigureをやり直すならmake cleanするのが吉らしい。

インストール

$ sudo paco -D make install

ホームディレクトリにインストールするように指定したのにsudo pacoをするとか……
まあいい……かな?

起動

$ ~/Binary/Vim/bin/vim
:version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jul 16 2011 15:16:20)
適用済パッチ: 1-254
Compiled by sasaplus1@Ubuntu-Silver
Big 版 without GUI.  機能の一覧 有効(+)/無効(-)
+arabic +autocmd -balloon_eval -browse ++builtin_terms +byte_offset +cindent +clientserver +clipboard +cmdline_compl
+cmdline_hist +cmdline_info +comments +conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con +diff +digraphs
-dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path +float +folding -footer
+fork() +gettext -hangul_input +iconv +insert_expand +jumplist +keymap +langmap +libcall +linebreak +lispindent
+listcmds +localmap -lua +menu +mksession +modify_fname +mouse -mouseshape +mouse_dec -mouse_gpm -mouse_jsbterm
+mouse_netterm -mouse_sysmouse +mouse_xterm +multi_byte +multi_lang -mzscheme +netbeans_intg +path_extra -perl
+persistent_undo +postscript +printer -profile -python -python3 +quickfix +reltime +rightleft -ruby +scrollbind +signs
 +smartindent -sniff +startuptime +statusline -sun_workshop +syntax +tag_binary +tag_old_static -tag_any_white -tcl
 +terminfo +termresponse +textobjects +title -toolbar +user_commands +vertsplit +virtualedit +visual +visualextra
 +viminfo +vreplace +wildignore +wildmenu +windows +writebackup +X11 +xfontset -xim +xsmp_interact +xterm_clipboard
 -xterm_save
       システム vimrc: "$VIM/vimrc"
       ユーザ vimrc: "$HOME/.vimrc"
       ユーザ exrc: "$HOME/.exrc"
       省略時の $VIM: "/home/sasaplus1/Binary/Vim/share/vim"
コンパイル: gcc -c -I. -Iproto -DHAVE_CONFIG_H     -g -O2 -D_FORTIFY_SOURCE=1
リンク: gcc   -L/usr/local/lib -Wl,--as-needed -o vim    -lSM -lICE -lXt -lX11 -lXdmcp -lSM -lICE -lm -lncurses -lnsl

となってるみたい。


いろいろオプション変えてコンパイルし直してみようかなー。
あとMacでも試してみよう。