“ sudo apt-get vim”和“ ./configure --with-features = huge”之间有区别吗?


10

我想通过apt-get安装VIM,但不确定是否能获得其所有功能。

这和从源代码进行编译之间有区别吗?

Answers:


15

如果您查看用于构建各种程序包的选项(在中debian/rules),则会看到

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)

所以:

  • 除了所有的包vim-tiny被内置--with-features=huge
  • vim-basic(aka vim)口译员已关闭
  • 其他的则具有基于前端的选项,并且已启用翻译器。

选择一个:

  • 如果您想要准系统Vim,请选择vim-tiny
  • 如果您想要功能更全的Vim,请选择vim
  • 如果您想所有的功能,包装允许,但希望GUI(和GUI的依赖),挑选vim-nox
  • 如果您想使用GUI,但又不想与GTK有任何关系,请选择vim-athena
  • 如果您需要GUI,并使用基于GNOME的桌面环境(GNOME,Unity,Cinnamon等),请选择vim-gnome并使用基于GTK3的环境(GNOME,Unity,Cinnamon,MATE等),请选择vim-gtk3
  • 如果您需要GUI,并且使用基于GTK2或非GTK的桌面环境(XFCE,LXDE等),请选择vim-gtk

我想接受这个作为答案,但是,当我问这个问题时,我没有注册。
AmagicalFishy

@AmagicalFishy如果您使用其他电子邮件注册,则可以合并帐户。
muru

我实际上是用相同的电子邮件注册的。我什至收到有关此答案已发布的通知,但是由于某种原因,没有接受答案的复选标记。
AmagicalFishy

乍一看,@ AmagicalFishy,看来我无法做mod,对不起。您需要联系vi.stackexchange.com/help/merging-accounts中给出的Stack Exchange团队。
muru

1
虽然:help gui-gnome已经过时了。在现代Gnome上,vim-gnome提供的内容很少(参见Debian bug#820239),这就是我删除它的原因。
jamessan

5

确实,您使用的版本apt-get install vim不具有使用编译的版本的所有功能 --with-features=huge。例如,您并不总是具有诸如+python或的选项+lua

一个更好的选择是使用apt-get install vim-nox更完整的方法。


4

$ sudo apt-get install vim-gtk(或者,vim-gnome如果您使用的是Ubuntu)将以最少的精力为您提供最完整的Vim。

官方软件包通常会有些滞后,因此,如果您确实想要最新版本,则必须应用最新补丁并自行构建。

但是请注意,每隔两天就会出现新的补丁程序,因此要跟上上游需求就必须奉献。


1
pi-rho的PPA通常具有最新的软件包。
muru

@muru,同意并推荐。那就是我使用Ubuntu时使用的那个。
romainl
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.