编辑:问题解决了!

编辑:问题解决了!

我正在尝试编译 vim-7.3 将启用所有功能。我运行配置

$ ./configure --with-features=huge --enable-gui --enable-cscope
$ make ; make install

当我检查版本时,它显示一些功能仍未安装。

没有GUI的巨大版本。包含 (+) 或不包含 (-) 的功能:+arabic +autocmd -balloon_eval-浏览++builtin_terms +byte_offset +cindent -客户端服务器-剪贴板+cmdline_compl +cmdline_hist +cmdline_info +comments +conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con +diff +digraphs -dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path ....

现在根据维姆文档

+浏览
+客户端服务器

它说

因此,如果某个功能被标记为“N”,则它包含在 Vim 的普通版本、大版本和巨大版本中。

features.h还说

+启用了所有可能的功能。

根据上面提到的两个资源,huge意味着所有功能都已启用。即使不是全部,至少+clientserver+browse必须在huge编译模式下启用。

但我的经验却表明事实并非如此。巨大的编译未能包括浏览和客户端服务器功能。

  1. 为什么会这样呢?难道是我对文档的理解有误?
  2. 如何启用客户端服务器功能?
  3. 如何启用图形用户界面?
  4. 是否可以启用全部特点简单吗?我厌倦了巨大的features.h建议,它将启用所有可能的功能,但它不起作用。

谢谢你的时间。

编辑:问题解决了!

感谢你们所有人的无价帮助。
我检查过vim73/src/auto/config.log,很明显缺少很多依赖项。格特帖子给出了需要哪些软件包的想法。我用了:

$ yum -yv install libXt.i686 libXt-devel.i686 \
libXpm.i686 libXpm-devel.i686 \
libX11.i686 libX11-common.noarch libX11-devel.i686 \
ghc-cairo-devel.i686  cairo.i686   \
libgnomeui-devel.i686 \
ncurses.i686 ncurses-devel.i686  ncurses-libs.i686 ncurses-static.i686 \
ghc-gtk-devel.i686 gtk+-devel.i686 \
gtk2.i686  gtk2-devel.i686 \
atk-devel.i686 atk.i686 \
libbonoboui.i686 libbonoboui-devel.i686 

有些软件包已经安装,有些则没有。在那之后:

$ ./configure --with-features=huge --enable-cscope --enable-gui=auto
$ make ; make install

现在我的 vim 拥有与huge.

带 GTK2 GUI 的巨大版本。包含 (+) 或不包含 (-) 的功能:
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent
+客户端服务器+clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
+conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con_gui +diff
+digraphs +dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi
...

谢谢

答案1

根据这座建筑 Vim 页面,你需要 Ubuntu 上的这些依赖项

sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \
   libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
   libcairo2-dev libx11-dev libxpm-dev libxt-dev

再次运行configure

./configure --with-features=huge --enable-gui=gnome2 --enable-cscope

我已经尝试过了,一切似乎都已启用。

答案2

feature.h 中的测试是

#if (defined(WIN32) || defined(FEAT_XCLIPBOARD)) && defined(FEAT_EVAL)
# define FEAT_CLIENTSERVER
#endif

所以你必须确保 FEAT_XCLIPBOARD 已启用。这是在这里完成的:

#if defined(FEAT_NORMAL) && defined(FEAT_VISUAL) \
        && (defined(UNIX) || defined(VMS)) \
        && defined(WANT_X11) && defined(HAVE_X11)
# define FEAT_XCLIPBOARD
# ifndef FEAT_CLIPBOARD
#  define FEAT_CLIPBOARD
# endif
#endif

所以看起来你好像错过了一些 X11-devel 包。

答案3

您需要查看./configure和 的输出config.log

相关内容