47

Could someone please explain to me the differences between Gvim and Vim?

2 Answers 2

50

GVim is Vim with a built-in GUI, whereas plain Vim needs a terminal emulator (like GNOME Terminal, for example) to run.

The built-in GUI provides several extra features to GVim. Borrowing from a post in the Vi and Vim Stack Exchange:

Some features that will only work with gVim:

  • Supports a much wider range of colors (RGB), while the terminal only supports 256 colors (see this and this).
  • Some other more advanced graphical features, such as "wiggly lines" for spell checking, more flexible cursor shapes, etc. A terminal can only do "blocks of monospaced characters".
  • Enables mouse support, if otherwise left alone (including drag-and-drop for files). Terminal Vim can also handle the mouse quite well, but not drag-and-drop.
  • Offers a nice, customizable menu system, where each option has the corresponding Vim command listed.
  • gVim can offer you scrollbars which scroll the Vim buffer (and not the Terminal scrollback).
  • You can have popup "balloons" (aka. "tooltips").
  • Many terminals do not provide true italics like gVim does.
  • Has integrated font support.

Secondly, even if you prefer using Vim, installing a GUI version may offer more compile-time features than the version without, at least in some distros (such as clipboard and clientserver support on Debian-based system in vim-nox vs vim-gnome).

Things gVim doesn't do:

  • gVim isn't a (full) terminal emulator, so starting external programs that use a lot of terminal features won't work very well. For example try using :!vim, :!mutt, or :!irssi from gVim, or pressing K over a word (which, by default, opens the manpage for that word). Also see this.
3

Both GVim and Vim are the same, the difference is that Gvim offers an interface that doesn't run in a terminal window. Basically, Gvim has GUI-like menus and toolbar.

Here are quotes from Quora that provide more information:

VIM is designed for using the keyboard efficiently and not for using the mouse.

Functionally there is no difference between VIM and GVIM. They both work the same and have same keyboard sequences. VIM does not need a Graphical User Interface (GUI) and uses terminal shell environment to provide text editing features. However GVIM (or MVIM on mac) uses X windowing system (like GTK+) to provide a desktop like window appearance to vim with all text editing features. Performance wise also both vim and gvim behave almost identically.

Apart from this, there are few addition operations supported by GVIM like

  • More font and better text rendering support in gvim.
  • GVIM has additional menu and tool bars which vim lacks

You must log in to answer this question.