Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Vim8.0をBash on Ubuntu On Windowsでビルドした

$
0
0

概要

なんとなくBash on Ubuntu on Windowsを入れて、とりあえずVimを自前ビルドしたのでその作業メモです。
luaとか有効にしてます。(オプションは後述)
(Bash on Ubuntu on Windowsの入れ方とかは他記事におまかせするとします。)

環境

  • Windows 10 Pro 64bit 1607

必要なパッケージのインストール

適当に指定しているので、もしかしたら不要なものも含まれているかもしれませんが...
ざくっと以下を実行。

$ sudo apt-get install git cpp gcc autoconf automake make lua5.2 luajit liblua5.2-0 liblua5.2-dev libperl5.18 libperl-dev python-dev python3-dev ruby ruby-dev tcl tcl-dev
パッケージリストを読み込んでいます... 完了%依存関係ツリーを作成しています状態情報を読み取っています... 完了%以下のパッケージが自動でインストールされましたが、もう必要とされていません:  libfreetype6 os-proberこれを削除するには 'apt-get autoremove' を利用してください。以下の特別パッケージがインストールされます:  autotools-dev binutils build-essential cpp-4.8 dpkg-dev fakeroot g++ g++-4.8  gcc-4.8 git-man libalgorithm-diff-perl libalgorithm-diff-xs-perl  libalgorithm-merge-perl libasan0 libatomic1 libc-dev-bin libc6-dev  libcloog-isl4 libdpkg-perl liberror-perl libexpat1-dev libfakeroot  libfile-fcntllock-perl libgcc-4.8-dev libgmp10 libgomp1 libisl10 libitm1  libltdl-dev libltdl7 libluajit-5.1-common libmpc3 libmpfr4 libpython-dev  libpython2.7-dev libpython3-dev libpython3.4 libpython3.4-dev libquadmath0  libreadline-dev libreadline6-dev libruby1.9.1 libstdc++-4.8-dev libtcl8.6  libtinfo-dev libtool libtsan0 linux-libc-dev m4 manpages-dev pkg-config  python2.7-dev python3.4-dev ruby1.9.1 ruby1.9.1-dev tcl8.6 tcl8.6-dev  zlib1g-dev提案パッケージ:  autoconf2.13 autoconf-archive gnu-standards autoconf-doc gettext  binutils-doc cpp-doc gcc-4.8-locales debian-keyring g++-multilib  g++-4.8-multilib gcc-4.8-doc libstdc++6-4.8-dbg gcc-multilib automake1.9  flex bison gdb gcc-doc gcc-4.8-multilib libgcc1-dbg libgomp1-dbg libitm1-dbg  libatomic1-dbg libasan0-dbg libtsan0-dbg libquadmath0-dbg git-daemon-run  git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch  git-bzr git-cvs git-mediawiki git-svn glibc-doc libtool-doc  libstdc++-4.8-doc automaken gfortran fortran95-compiler gcj-jdk make-doc ri  ruby1.9.1-examples ri1.9.1 graphviz ruby-switch tcl-doc tcl-tclreadline  tcl8.6-doc以下のパッケージが新たにインストールされます:  autoconf automake autotools-dev binutils build-essential cpp cpp-4.8  dpkg-dev fakeroot g++ g++-4.8 gcc gcc-4.8 git git-man libalgorithm-diff-perl  libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan0 libatomic1  libc-dev-bin libc6-dev libcloog-isl4 libdpkg-perl liberror-perl  libexpat1-dev libfakeroot libfile-fcntllock-perl libgcc-4.8-dev libgmp10  libgomp1 libisl10 libitm1 libltdl-dev libltdl7 liblua5.2-0 liblua5.2-dev  libluajit-5.1-common libmpc3 libmpfr4 libperl-dev libperl5.18 libpython-dev  libpython2.7-dev libpython3-dev libpython3.4 libpython3.4-dev libquadmath0  libreadline-dev libreadline6-dev libruby1.9.1 libstdc++-4.8-dev libtcl8.6  libtinfo-dev libtool libtsan0 linux-libc-dev lua5.2 luajit m4 make  manpages-dev pkg-config python-dev python2.7-dev python3-dev python3.4-dev  ruby ruby-dev ruby1.9.1 ruby1.9.1-dev tcl tcl-dev tcl8.6 tcl8.6-dev  zlib1g-devアップグレード: 0 個、新規インストール: 76 個、削除: 0 個、保留: 0 個。95.0 MB のアーカイブを取得する必要があります。この操作後に追加で 256 MB のディスク容量が消費されます。続行しますか? [Y/n] y (ログは省略)

githubからソースをclone

特に解説することもないですね。

$cd /usr/local/src
$ sudo chmod a+w .
$ git clone https://github.com/vim/vim.git

configure && make && make install

いつも使ってるビルドオプションをそのまま指定しました。
--enable-fail-if-missingを指定していると足りないパッケージがあるとエラーになるので便利です。(つい最近知りました...)

$cd vim
$ ./configure --with-features=huge \              --disable-darwin \              --disable-selinux \              --enable-fail-if-missing \              --enable-luainterp \              --enable-perlinterp=dynamic \              --enable-pythoninterp \              --enable-python3interp \              --enable-tclinterp \              --enable-rubyinterp \              --enable-cscope \              --enable-multibyte \              --enable-xim \              --enable-fontset \              --with-compiledby=xxxkurosukexxx \              --enable-gui=no \              --prefix=/usr/local (ログは省略)$ make
 (ログは省略)$ sudo make install
 (ログは省略)

無事ビルドできました :clap:

(参考)デフォルトで入っていたVim

$ vim --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jan  2 2014 19:39:32)適用済パッチ: 1-52Modified by pkg-vim-maintainers@lists.alioth.debian.orgCompiled by buildd@Huge 版 without GUI.  機能の一覧 有効(+)/無効(-)+acl             +farsi           +mouse_netterm   +syntax+arabic          +file_in_path    +mouse_sgr       +tag_binary+autocmd         +find_in_path    -mouse_sysmouse  +tag_old_static-balloon_eval    +float           +mouse_urxvt     -tag_any_white-browse          +folding         +mouse_xterm     -tcl++builtin_terms  -footer          +multi_byte      +terminfo+byte_offset     +fork()          +multi_lang      +termresponse+cindent         +gettext         -mzscheme        +textobjects-clientserver    -hangul_input    +netbeans_intg   +title-clipboard       +iconv           +path_extra      -toolbar+cmdline_compl   +insert_expand   -perl            +user_commands+cmdline_hist    +jumplist        +persistent_undo +vertsplit+cmdline_info    +keymap          +postscript      +virtualedit+comments        +langmap         +printer         +visual+conceal         +libcall         +profile         +visualextra+cryptv          +linebreak       +python          +viminfo+cscope          +lispindent      -python3         +vreplace+cursorbind      +listcmds        +quickfix        +wildignore+cursorshape     +localmap        +reltime         +wildmenu+dialog_con      -lua             +rightleft       +windows+diff            +menu            -ruby            +writebackup+digraphs        +mksession       +scrollbind      -X11-dnd             +modify_fname    +signs           -xfontset-ebcdic          +mouse           +smartindent     -xim+emacs_tags      -mouseshape      -sniff           -xsmp+eval            +mouse_dec       +startuptime     -xterm_clipboard+ex_extra        +mouse_gpm       +statusline      -xterm_save+extra_search    -mouse_jsbterm   -sun_workshop    -xpmシステム vimrc: "$VIM/vimrc"ユーザ vimrc: "$HOME/.vimrc"第2ユーザ vimrc: "~/.vim/vimrc"ユーザ exrc: "$HOME/.exrc"省略時の $VIM: "/usr/share/vim"コンパイル: gcc -c -I. -Iproto -DHAVE_CONFIG_H     -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1リンク: gcc   -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed -o vim        -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl    -L/usr/lib/python2.7/config-x86_64-linux-gnu -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions

(参考)今回ビルドしたVim

$ vim --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Sep 30 2016 14:48:00)Included patches: 1-19Compiled by xxxkurosukexxxHuge version without GUI.  Features included (+) or not (-):+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      +terminfo++builtin_terms  +fork()          +multi_lang      +termresponse+byte_offset     -gettext         -mzscheme        +textobjects+channel         -hangul_input    +netbeans_intg   +timers+cindent         +iconv           +num64           +title-clientserver    +insert_expand   +packages        -toolbar-clipboard       +job             +path_extra      +user_commands+cmdline_compl   +jumplist        +perl/dyn        +vertsplit+cmdline_hist    +keymap          +persistent_undo +virtualedit+cmdline_info    +lambda          +postscript      +visual+comments        +langmap         +printer         +visualextra+conceal         +libcall         +profile         +viminfo+cryptv          +linebreak       +python/dyn      +vreplace+cscope          +lispindent      +python3/dyn     +wildignore+cursorbind      +listcmds        +quickfix        +wildmenu+cursorshape     +localmap        +reltime         +windows+dialog_con      +lua             +rightleft       +writebackup+diff            +menu            +ruby            -X11+digraphs        +mksession       +scrollbind      -xfontset-dnd             +modify_fname    +signs           -xim-ebcdic          +mouse           +smartindent     -xpm+emacs_tags      -mouseshape      +startuptime     -xsmp+eval            +mouse_dec       +statusline      -xterm_clipboard+ex_extra        -mouse_gpm       -sun_workshop    -xterm_save+extra_search    -mouse_jsbterm   +syntax+farsi           +mouse_netterm   +tag_binary   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=1Linking: gcc   -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -L/build/buildd/ruby1.9.1-1.9.3.484/debian/lib -rdynamic -Wl,-export-dynamic -Wl,-E   -L/usr/local/lib -Wl,--as-needed -o vim        -lm -ltinfo -lnsl    -ldl  -L/usr/lib -llua5.2 -Wl,-E  -fstack-protector -L/usr/local/lib  -L/usr/lib/perl/5.18/CORE -lperl -ldl -lm -lpthread -lcrypt   -L/usr/lib/x86_64-linux-gnu -ltcl8.6 -ldl -lz -lpthread -lieee -lm -lruby-1.9.1 -lpthread -lrt -ldl -lcrypt -lm  -L/usr/lib

こちらからは以上ですー。
良きVimライフを! :smile:


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>