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するのが吉らしい。
起動
$ ~/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
となってるみたい。