VPS作業記録 vimのビルドの巻

かなり前ですが、vim pluginまわり作業内容。 - みんなのふぃじー(はてなブログ版)で、vimプラグイン周りを整理整頓しようとしたら、Lua付きのvimじゃないことが発覚して、自前でのビルドしよう案件の続きをやりたいと思います。

で、さらに、今回は、+luaだけではなく、+python +python3 +terminalを狙っていきたいと思います。

事前準備

vimを入れる場所は、/usr/localにしたいと思います。
Luaは、yumで入れておく。

# yum install lua
# yum install lua-devel
# yum install luajit
# yum install luajit-devel

Pythonに関しては、--enable-sharedをつけて(?)、/usr/local/bin/python2と/usr/local/bin/python3として、インストールしておく。

オプション

gitでvimをcloneして、vim/srcに移動。

git clone https://github.com/vim/vim.git
cd vim/src 
./configure ここのオプションをどうするか
make
make install
オプション 意味
--enable-fail-if-missing 何か足りなければ、止まってくれる。これつけたまま、configureが通るまで頑張る
--with-features=huge よくわからないけど、いっぱい入れておけということで、huge
--prefix=/usr/local ゆにっくしゅ しぇあー ろーかりゅ
--enable-multibyte 今度調べる
--enable-luainterp lua付きのオプション
--with-luajit jitは早いらしい?
--enable-pythoninterp これで+python
--enable-python3interp これで+python3
--enable-rubyinterp なんとなくつけておく
--enable-terminal :terminalを使えるようにする。
結果
Huge 版 with GTK2 GUI.  機能の一覧 有効(+)/無効(-)
+acl             +file_in_path    +mouse_sgr       +tag_old_static
+arabic          +find_in_path    -mouse_sysmouse  -tag_any_white
+autocmd         +float           +mouse_urxvt     -tcl
+balloon_eval    +folding         +mouse_xterm     +termguicolors
+browse          -footer          +multi_byte      +terminal
++builtin_terms  +fork()          +multi_lang      +terminfo
+byte_offset     +gettext         -mzscheme        +termresponse
+channel         -hangul_input    +netbeans_intg   +textobjects
+cindent         +iconv           +num64           +timers
+clientserver    +insert_expand   +packages        +title
+clipboard       +job             +path_extra      +toolbar
+cmdline_compl   +jumplist        -perl            +user_commands
+cmdline_hist    +keymap          +persistent_undo +vertsplit
+cmdline_info    +lambda          +postscript      +virtualedit
+comments        +langmap         +printer         +visual
+conceal         +libcall         +profile         +visualextra
+cryptv          +linebreak       +python/dyn      +viminfo
+cscope          +lispindent      +python3/dyn     +vreplace
+cursorbind      +listcmds        +quickfix        +wildignore
+cursorshape     +localmap        +reltime         +wildmenu
+dialog_con_gui  +lua             +rightleft       +windows
+diff            +menu            +ruby            +writebackup
+digraphs        +mksession       +scrollbind      +X11
+dnd             +modify_fname    +signs           -xfontset
-ebcdic          +mouse           +smartindent     +xim
+emacs_tags      +mouseshape      +startuptime     -xpm
+eval            +mouse_dec       +statusline      +xsmp_interact
+ex_extra        -mouse_gpm       -sun_workshop    +xterm_clipboard
+extra_search    -mouse_jsbterm   +syntax          -xterm_save
+farsi           +mouse_netterm   +tag_binary