この記事をもうちょい見返してみる。
オプションの検討
--prefix=/usr
--mandir=${prefix}/share/man
--with-modified-by=pkg-vim-maintainers@lists.alioth.debian.org
--with-compiledby=pkg-vim-maintainers@lists.alioth.debian.org
このへんのオプションは無視でよさそう。
--without-local-dir --enable-fail-if-missing
このへんはよくわからないけど付けとくほうがトラブルが少なそう。
--enable-cscope
cscope使ったことない。必要になったらenableすればいいか。
--enable-gpm
gpmはLinux mouse daemonらしいけど、WSLってマウスっていう概念あるの? よくわからないけどとりあえず要らなそう。
--enable-selinux --disable-smack
Smackの代わりにSELinuxを使ってるっぽいけど、SELinuxをインストールするのめんどくさいので使わない。
--with-features=huge --enable-multibyte --enable-acl --without-x --enable-gui=no
このへんはこのままでよさそう。
--enable-luainterp --disable-mzschemeinterp --enable-perlinterp --enable-python3interp --with-python-config-dir=/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu --disable-pythoninterp --enable-rubyinterp --enable-tclinterp --with-tclsh=/usr/bin/tclsh
LuaとPython3だけあればだいたい動くのかなーという気がする。Perlもいるかも。
ライブラリのインストール
必要なものをいれる。
sudo apt install build-essential liblua5.2-dev lua5.2 libperl-dev python3-dev
ビルド
まずはソースをcloneしてくる。
git clone https://github.com/vim/vim cd vim git checkout $(git tag --list | tail -1)
さっきのを踏まえてconfigureする。
./configure \ --enable-fail-if-missing \ --without-local-dir \ --enable-fail-if-missing \ --disable-gpm \ --with-features=huge \ --enable-multibyte \ --enable-acl --without-x \ --enable-gui=no \ --enable-luainterp \ --disable-mzschemeinterp \ --enable-perlinterp \ --enable-python3interp \ --disable-pythoninterp \ --disable-rubyinterp \ --disable-tclinterp
で、makeしてインストール。
make sudo make install
結果
あってるのかよくわからないけど記録のため貼っておきます。
$ vim --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Jan 29 2018 09:04:46)
Included patches: 1-1437
Compiled by user1@...
Huge version without GUI. Features included (+) or not (-):
+acl +farsi +mouse_sgr -tag_any_white
+arabic +file_in_path -mouse_sysmouse -tcl
+autocmd +find_in_path +mouse_urxvt +termguicolors
-autoservername +float +mouse_xterm +terminal
-balloon_eval +folding +multi_byte +terminfo
+balloon_eval_term -footer +multi_lang +termresponse
-browse +fork() -mzscheme +textobjects
++builtin_terms -gettext +netbeans_intg +timers
+byte_offset -hangul_input +num64 +title
+channel +iconv +packages -toolbar
+cindent +insert_expand +path_extra +user_commands
-clientserver +job +perl +vertsplit
-clipboard +jumplist +persistent_undo +virtualedit
+cmdline_compl +keymap +postscript +visual
+cmdline_hist +lambda +printer +visualextra
+cmdline_info +langmap +profile +viminfo
+comments +libcall -python +vreplace
+conceal +linebreak +python3 +wildignore
+cryptv +lispindent +quickfix +wildmenu
+cscope +listcmds +reltime +windows
+cursorbind +localmap +rightleft +writebackup
+cursorshape +lua -ruby -X11
+dialog_con +menu +scrollbind -xfontset
+diff +mksession +signs -xim
+digraphs +modify_fname +smartindent -xpm
-dnd +mouse +startuptime -xsmp
-ebcdic -mouseshape +statusline -xterm_clipboard
+emacs_tags +mouse_dec -sun_workshop -xterm_save
+eval -mouse_gpm +syntax
+ex_extra -mouse_jsbterm +tag_binary
+extra_search +mouse_netterm +tag_old_static
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"
user exrc file: "$HOME/.exrc"
defaults file: "$VIMRUNTIME/defaults.vim"
fall-back for $VIM: "/usr/local/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc -Wl,-E -Wl,--as-needed -o vim -lm -ltinfo -lnsl -ldl -L/usr/lib -llua5.2 -Wl,-E -fstack-protector-strong -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu/perl/5.22/CORE -lperl -ldl -lm -lpthread -lcrypt -L/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu -lpython3.5m -lpthread -ldl -lutil -lm