I'd like to install VIM via apt-get, but I'm not sure if I get all of its features.
Is there a difference between this, and compiling it from source?
If you look at the options used to build the various packages (in debian/rules
), you'll see
OPTFLAGS+=--with-features=huge
...
NOINTERPFLAGS:=--disable-luainterp
NOINTERPFLAGS+=--disable-mzschemeinterp
NOINTERPFLAGS+=--disable-perlinterp
ifeq ($(DEB_VENDOR),Ubuntu)
NOINTERPFLAGS+=--enable-pythoninterp --with-python-config-dir=$(shell python-config --configdir)
else
NOINTERPFLAGS+=--disable-pythoninterp
endif
NOINTERPFLAGS+=--disable-python3interp
NOINTERPFLAGS+=--disable-rubyinterp
NOINTERPFLAGS+=--disable-tclinterp
ALLINTERPFLAGS:=--enable-luainterp
ALLINTERPFLAGS+=--disable-mzschemeinterp
ALLINTERPFLAGS+=--enable-perlinterp
ALLINTERPFLAGS+=--enable-pythoninterp --with-python-config-dir=$(shell python-config --configdir)
ALLINTERPFLAGS+=--disable-python3interp
ALLINTERPFLAGS+=--enable-rubyinterp
ALLINTERPFLAGS+=--enable-tclinterp
ALLINTERPFLAGS+=--with-tclsh=/usr/bin/tclsh
...
CFLAGS_vim-basic:=$(CFLAGS)
CFGFLAGS_vim-basic:=$(CFGFLAGS) $(OPTFLAGS) $(NOXFLAGS) $(NOINTERPFLAGS)
CFLAGS_vim-tiny:=$(CFLAGS) -DTINY_VIMRC
CFGFLAGS_vim-tiny:=$(CFGFLAGS) $(TINYFLAGS)
CFLAGS_vim-gtk:=$(CFLAGS)
CFGFLAGS_vim-gtk:=$(CFGFLAGS) $(OPTFLAGS) $(GUIFLAGS) $(GTKFLAGS) $(ALLINTERPFLAGS)
CFLAGS_vim-gnome:=$(CFLAGS)
CFGFLAGS_vim-gnome:=$(CFGFLAGS) $(OPTFLAGS) $(GUIFLAGS) $(GNOMEFLAGS) $(ALLINTERPFLAGS)
CFLAGS_vim-athena:=$(CFLAGS)
CFGFLAGS_vim-athena:=$(CFGFLAGS) $(OPTFLAGS) $(GUIFLAGS) $(ATHENAFLAGS) $(ALLINTERPFLAGS)
CFLAGS_vim-nox:=$(CFLAGS)
CFGFLAGS_vim-nox:=$(CFGFLAGS) $(OPTFLAGS) $(NOXFLAGS) $(ALLINTERPFLAGS)
So:
vim-tiny
gets built with --with-features=huge
vim-basic
(aka vim
) has interpreters turned offTo pick one:
vim-tiny
.vim
.vim-nox
.vim-athena
.vim-gnome
vim-gtk3
.vim-gtk
.:help gui-gnome
is pretty obsolete. On modern Gnome, there's not much that vim-gnome provides (c.f., Debian bug #820239) which is why I removed it.
Indeed the version you get with apt-get install vim
doesn't have all the features of a version compiled with --with-features=huge
. For example you don't always have options like +python
or +lua
.
A good alternative is to use apt-get install vim-nox
which is much more complete.
$ sudo apt-get install vim-gtk
(or vim-gnome
if you are on Ubuntu) will get you the most complete Vim with the least effort.
Official packages usually lag a bit so, if you really want the latest version, you will have to apply the latest patches and build it yourself.
Be aware, though, that new patches come up every couple of days, so keeping up with upstream needs dedication.