在 Linux 上构建时如何为 Vim 8 提供后缀

在 Linux 上构建时如何为 Vim 8 提供后缀

我正在尝试在 Ubuntu 16.04.1 LTS 上构建 Vim 8.0, configure并且make运行时没有任何错误,但是它确实忽略了参数--program-suffix

[local vim repo]/configure --program-suffix=8 --with-features=big

我打算构建与我的稳定设置并行的 Vim 8.0,并使用后缀“8”,因此应该有一个二进制vim8文件/usr/local/bin/

任何想法?

答案1

我今天从 vim repo(版本 8.0.3)中拉取了文件,确认了 CentOS 7.2 上的这种行为;来自的值--program-suffix没有被存储。它是文件中的一个字段src/auto/configure,运行后./configure应该会填充一个字段,src/config.mk但没有占位符。提供的其他配置标志用于configure执行更新src/config.mk

文件中有一条src/INSTALL关于该主题的注释:

如果软件包支持,您可以通过提供configure 选项--program-prefix=PREFIX--program-suffix=SUFFIX

我猜想忽略该参数并且不报告它是 vim 开发人员决定在主分支中“不支持”此选项的原因。

为了防止可能覆盖 7.x 安装中的文件,我建议将其完全安装到另一个目录,直到完全过渡;如果您将该选项与使用@pibarnas 建议的标志重命名 vim 结合起来,您可以将 vim8 安装与现有安装完全隔离。

 ./configure --with-features=big --prefix=$HOME --with-vim-name=vim8

将 $HOME 更改为适合您的任何路径;我建议您在安装后创建从 $HOME/bin/ 到 /usr/local/sbin/ 的符号链接

sudo ln -s /home/<username>/bin/vim8 /usr/local/bin/

您可以根据构建的内容对相关的 vim 可执行文件执行相同操作。其中一些文件不采用配置中提供的 vim-name,这是仅使用单独安装目录的另一个原因。

为了记录,以下是 vim 安装的二进制文件。我使用了不同的配置参数;我将其发布在底部 - 以防万一尝试重现上述命令由于某些不为人知的原因而不起作用;下面是我实际使用的。

-rwxr-xr-x 1 root   root    143 Sep 12 23:04 gvim8tutor
-rwxr-xr-x 1 root   root    19K Sep 12 23:04 xxd
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 vim8diff -> vim8
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 rview -> vim8
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 rvim8 -> vim8
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 view -> vim8
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 ex -> vim8
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 gvim8diff -> vim8
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 eview -> vim8
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 evim8 -> vim8
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 rgview -> vim8
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 rgvim8 -> vim8
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 gview -> vim8
lrwxrwxrwx 1 root   root      4 Sep 12 23:04 gvim8 -> vim8
-rwxr-xr-x 1 root   root   2.1K Sep 12 23:04 vim8tutor
-rwxr-xr-x 1 root   root   2.7M Sep 12 23:04 vim8

Vim 配置/构建/安装命令:

./configure --prefix=$HOME --with-vim-name=vim8 --with-compiledby="argonauts12" --with-features=huge --enable-gui=auto --with-x --enable-rubyinterp --with-ruby-command=/usr/bin/ruby --enable-perlinterp --enable-pythoninterp --with-python-config-dir=/usr/lib64/python2.7/config --enable-fontset --enable-cscope --enable-gtk2-check --enable-gnome-check --enable-fail-if-missing --disable-multibyte && make -j8 && make install

答案2

根据./config --help:

--with-vim-name=NAME 调用 Vim 可执行文件的名称

在这种情况下:

--with-vim-name=vim8

相关内容