Ubuntu中可用的不同vim包之间有什么区别?

这里讨论了vim-gtkvim-gnome之间的区别。

Ubuntu通常为vim提供两个以上的选项,例如:

  • vim-nox
  • vim-athena
  • vim-*

目前尚不清楚哪个vim包具有哪些依赖性,哪个优于在一个系统上使用。 我将我的vim配置文件( ~/.vim文件夹)保存在GitHub上,并在我必须处理的任何系统上克隆它。 他们使用vim-gnome但是他们可以使用这些发行版中的任何一个吗?

我们是否可以在Ubuntu上提供的所有可能的vim候选者之间列出主要差异,以便做出明智的决定?

包括vim包,似乎至少有六个“vim-variants”(不包括可用文档或插件包)以及mainuniverse存储库中的主vim包。

下面是每个的简要总结(链接转到Ubuntu LTS版本16.04“Xenial”中的包描述和依赖关系):

  • VIM

    Vim使用一组相当标准的function进行编译和设置。 此软件包不提供Vim的GUI版本或脚本语言支持。 如果您需要更多(或更少),请参阅其他vim- *包。

    要安装此软件包,请运行sudo apt-get install vim

  • jvim-canna日本VIM(美人蕉版)

    该软件包允许从控制台输入汉字。

    要安装此软件包,请运行sudo apt-get install jvim-canna

    取决于libcanna1g

    似乎不支持Perl,Python,Ruby或TCL脚本。

  • vim-athena – 增强的vi编辑器 – 使用Athena GUI编译

    此包使用Athena GUI编译,而不是GTK +或Gnome。

    有关其他详细信息,请参阅此askubuntu答案 。

    要安装此软件包,请运行sudo apt-get install vim-athena

    支持Perl,Python,Ruby和TCL脚本。

  • vim-gnome / vim-gtk3 – 增强的vi编辑器 – 使用GNOME GUI编译(GTK2在17.10之前,GTK3从17.10编译)

    要安装此软件包,请运行sudo apt-get install vim-gnome

    取决于libgnome2

    支持Perl,Python,Ruby和TCL脚本。

  • vim-gtk – 增强的vi编辑器 – 使用GTK2 GUI编译

    用于类似KDE / Kubuntu的环境

    要安装此软件包,请运行sudo apt-get install vim-gtk

    支持Perl,Python,Ruby和TCL脚本。

  • vim-nox – 增强的vi编辑器

    像vim-tiny一样,vim-nox是一个最小的vim安装,没有GUI。 它配备鼠标支持,但没有剪贴板支持,IIRC。

    要安装此软件包,请运行sudo apt-get install vim-nox

    支持Perl,Python,Ruby和TCL脚本。

  • vim-tiny – 增强的vi编辑器 – 紧凑版

    vim-tiny作为Ubuntu发行版的默认vim包含在内,并且禁用了许多可选function(例如,多级撤消)。

    有关其function集(或缺少function集)的详细信息,请参阅此askubuntu答案 。

    要安装此软件包,请运行sudo apt-get install vim-tiny

    不支持Perl,Python,Ruby或TCL脚本。

    接近vi而不是vi 。


在本地,要查看特定安装的vim包中支持哪些function,请运行以下命令: vim --version将提供特定包中包含(或排除)的function列表。

例如,在我的系统上,我可以运行vim --versionvim.tiny --versionvim.athena --version来查看各自支持的function的差异。 Debian / Ubuntu /etc/alternatives系统确定运行vivim时执行哪个vim包,请参阅什么是etc / alternatives用于?


Python支持

在16.04之前,上面的软件包(除了vim-tiny )包括Vim和Python 2的脚本支持。在16.04,它们都支持Python 3,并且有相应的*-py2软件包(例如vim-gnome-py2 )提供支持Python 2的Vim命令。 两者都可以一起安装,命令分别是vim.gnomevim.gnome-py2 。 否则, *-py2包提供与相应包相同的function集。 16.04之后删除了Python 2支持。