167

The difference between vim-gtk and vim-gnome has been discussed here.

Ubuntu usually offers more than these two options for vim, e.g.:

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

It is not clear which vim package have which dependecies and which one is preferable to use on one's system. I keep my vim configuration files (~/.vim folder) on GitHub and clone it on any system I have to work on. They work with vim-gnome but will they work with any of these distributions?

Can we have the major differences listed out between all of the possible vim candidates available on Ubuntu so one can make an informed decision?

3
  • 1
    so which vim you ended up installing ? im on ubuntu 12.04... was thinking of athena or gnome. they seem to do the same thing. Jan 26, 2015 at 19:42
  • vim-gtk for KDE: askubuntu.com/a/33266/9081
    – SabreWolfy
    Jun 6, 2016 at 10:56
  • I am using vim-athena (if I have to use gui client). I've also used vim-gnome. These days I mostly stay in terminal with vim and uses GUI rarely.
    – Dilawar
    Oct 3, 2016 at 9:05

1 Answer 1

150

Including the vim package, there appear to be at least six "vim-variants" (not including available documentation, or plugin packages) as well as the main vim package in both the main and universe repositories.

Below is a brief summary of each (links go to package description and dependencies in Ubuntu LTS release 20.04 "Focal"):

Vim compiled and set up with a rather standard set of features. This package does not provide a GUI version of Vim or scripting language support. See the other vim-* packages if you need more (or less).

In order to install this package, run sudo apt-get install vim

This package allows the entering of Kanji from the console.

In order to install this package, run sudo apt-get install jvim-canna

Depends upon the libcanna1g library

Does not appear to support Perl, Python, Ruby, or TCL scripting.

  • vim-athena - enhanced vi editor - compiled with an Athena GUI

    This package is compiled with the Athena GUI as opposed to GTK+ or Gnome.

    See this askubuntu answer for additional details.

    In order to install this package, run sudo apt-get install vim-athena

    Supports Perl, Python, Ruby, and TCL scripting.

  • vim-gnome/vim-gtk3 - enhanced vi editor - compiled with a GNOME GUI (GTK2 before 17.10, GTK3 from 17.10)

    In order to install this package, run sudo apt-get install vim-gnome

    Depends upon the libgnome2 library

    Supports Perl, Python, Ruby, and TCL scripting.

  • vim-gtk - enhanced vi editor - compiled with the GTK2 GUI

    Used in KDE/Kubuntu-like environments

    In order to install this package, run sudo apt-get install vim-gtk

    Supports Perl, Python, Ruby, and TCL scripting.

  • vim-nox - enhanced vi editor

    Like vim-tiny, vim-nox is a minimal vim installation and does not have a GUI. It comes with mouse support, but no clipboard support, IIRC.

    In order to install this package, run sudo apt-get install vim-nox

    Supports Perl, Python, Ruby, and TCL scripting.

  • vim-tiny - enhanced vi editor - compact version

    vim-tiny is included as the default vim on Ubuntu distributions and comes with many optional features disabled(e.g. multi-level undo).

    See this askubuntu answer for details on its feature set(or lack thereof).

    In order to install this package, run sudo apt-get install vim-tiny

    Does not support Perl, Python, Ruby, or TCL scripting.

    As close to being vi without being vi.


Locally, to see which features are supported in a particular installed vim package, running the following command: vim --version will provide a list of features included(or excluded) in the particular package.

For example, on my system I can run either vim --version, vim.tiny --version, or vim.athena --version to see the differences in their respective supported features. The Debian/Ubuntu /etc/alternatives system determines which vim package executes when you runvi or vim, see What is etc/alternatives used for?


Python support

Before 16.04, the above packages (other than vim-tiny) included Vim with scripting support for Python 2. In 16.04, they all support Python 3, and there are corresponding *-py2 packages (vim-gnome-py2, for example) which provide a Vim command with Python 2 support. Both can be installed together, and the commands will be, for example, vim.gnome and vim.gnome-py2 respectively. Otherwise, the *-py2 packages provide the same feature set as the corresponding packages. Python 2 support was removed after 16.04.

9
  • 15
    vim.nox does not look like a minimal vim installation but rather a classic vim with support for extra scripting languages: vim.nox --version shows the same set of features as vim.basic but with +tcl +ruby +lua +perl. Python is supported in both versions.
    – cbliard
    Jul 26, 2013 at 9:15
  • 2
    Also package 'vim': This package contains a version of vim compiled with a rather standard set of features. This package does not provide a GUI version of Vim. See the other vim-* packages if you need more (or less). Source - apps.ubuntu.com/cat/applications/vim
    – pd12
    Jun 6, 2015 at 2:40
  • 8
    I recently realized that some of above may or may not have +clipboard in their compile flags. Clipboard is an important feature for developers. Probably a good idea to list out what else might be missing by default in different packages at least from developer point of view.
    – Dilawar
    Dec 20, 2016 at 5:06
  • 3
    what about vim-gtk3 vs vim-gnome? Sep 27, 2017 at 13:52
  • 1
    It may be worth noting that when you've got installed one of the graphical packages, you don't need the basic vim anymore and might want to remove it to avoid conflicts and confusion. See askubuntu.com/a/1106538/568304
    – Murphy
    Jan 3, 2019 at 10:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .