编译环境: Debian 10
- 获取vim 源代码, 或者当前releases: https://github.com/vim/vim/releases/tag/v8.2.0303
git clone git@github.com:vim/vim.git
- 编译(根据提示解决相应的依赖关系)
cd vim/ ./configure --with-features=huge --enable-rubyinterp=yes --enable-luainterp=yes --enable-perlinterp=yes --enable-pythoninterp=yes --enable-python3interp=yes --with-python-config-dir=/lib/python2.7/config-x86_64-linux-gnu --with-python3-config-dir=/lib/python3.7/config-3.7m-x86_64-linux-gnu --enable-fontset=yes --enable-cscope=yes --enable-multibyte --enable-gui=gtk3 --enable-fail-if-missing --prefix=/usr/local --with-compiledby='KINQ 'makesudo make install
- 查看版本号
$ vim --version
➜ vim-8.2.0303 vim --versionVIM - Vi IMproved 8.2 (2019 Dec 12, compiled Feb 23 2020 13:01:00)包含补丁: 1-303编译者 KINQ 巨型版本 with GTK3 GUI. 可使用(+)与不可使用(-)的功能:+acl -farsi -mouse_sysmouse -tag_old_static+arabic +file_in_path +mouse_urxvt -tag_any_white+autocmd +find_in_path +mouse_xterm -tcl+autochdir +float +multi_byte +termguicolors-autoservername +folding +multi_lang +terminal+balloon_eval -footer -mzscheme +terminfo+balloon_eval_term +fork() +netbeans_intg +termresponse+browse +gettext +num64 +textobjects++builtin_terms -hangul_input +packages +textprop+byte_offset +iconv +path_extra +timers+channel +insert_expand +perl +title+cindent +job +persistent_undo +toolbar+clientserver +jumplist +popupwin +user_commands+clipboard +keymap +postscript +vartabs+cmdline_compl +lambda +printer +vertsplit+cmdline_hist +langmap +profile +virtualedit+cmdline_info +libcall +python/dyn +visual+comments +linebreak +python3/dyn +visualextra+conceal +lispindent +quickfix +viminfo+cryptv +listcmds +reltime +vreplace+cscope +localmap +rightleft +wildignore+cursorbind +lua +ruby +wildmenu+cursorshape +menu +scrollbind +windows+dialog_con_gui +mksession +signs +writebackup+diff +modify_fname +smartindent +X11+digraphs +mouse +sound -xfontset+dnd +mouseshape +spell +xim-ebcdic +mouse_dec +startuptime +xpm+emacs_tags -mouse_gpm +statusline +xsmp_interact+eval -mouse_jsbterm -sun_workshop +xterm_clipboard+ex_extra +mouse_netterm +syntax -xterm_save+extra_search +mouse_sgr +tag_binary 系统 vimrc 文件: "$VIM/vimrc" 用户 vimrc 文件: "$HOME/.vimrc" 第二用户 vimrc 文件: "~/.vim/vimrc" 用户 exrc 文件: "$HOME/.exrc" 系统 gvimrc 文件: "$VIM/gvimrc" 用户 gvimrc 文件: "$HOME/.gvimrc"第二用户 gvimrc 文件: "~/.vim/gvimrc" defaults file: "$VIMRUNTIME/defaults.vim" 系统菜单文件: "$VIMRUNTIME/menu.vim" $VIM 预设值: "/usr/local/share/vim"编译方式: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/libdrm -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -O2 -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 链接方式: gcc -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-E -L/usr/local/lib -Wl,--as-needed -o vim -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -lm -ltinfo -lnsl -lselinux -lcanberra -ldl -L/usr/lib -llua5.3 -Wl,-E -fstack-protector-strong -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu/perl/5.28/CORE -lperl -ldl -lm -lpthread -lcrypt -Wl,-rpath,/usr/local/lib -L/usr/local/lib -lruby-static -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm -lm -L/usr/local/lib