Vim

Vim (Vi improved) is a text editor based on the vi text editor. It can be used from the command-line or as a standalone application with a graphical user interface.

Installation[edit | edit source]

USE flags[edit | edit source]

USE flags for app-editors/vim Vim, an improved vi-style text editor

X Link console vim against X11 libraries to enable title and clipboard features in xterm
acl Add support for Access Control Lists
cscope Enable cscope interface
debug Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
gpm Add support for sys-libs/gpm (Console-based mouse driver)
lua Enable Lua scripting support
minimal Install a very minimal build (disables, for example, plugins, fonts, most drivers, non-critical features)
nls Add Native Language Support (using gettextGNU locale utilities)
perl Add optional support/bindings for the Perl language
python Add optional support/bindings for the Python language
racket Enable support for Scheme using dev-scheme/racket
ruby Add support/bindings for the Ruby language
selinux !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
sound Enable sound support
tcl Add support the Tcl language
terminal Enable terminal emulation support
vim-pager Install vimpager and vimmanpager links

Emerge[edit | edit source]

If X Window System support is not needed, install app-editors/vim:

root #emerge --ask app-editors/vim

Additional software[edit | edit source]

Gvim[edit | edit source]

To install Vim with both the ncurses-based interface (/usr/bin/vim) as well as the graphical interface (for the X Window System - /usr/bin/gvim), install the app-editors/gvim package:

root #emerge --ask app-editors/gvim

Vim-qt[edit | edit source]

There is also an experimental Qt interface called app-editors/vim-qt which can also be installed.

Plugins[edit | edit source]

The category app-vim provides a lot of additional syntax definitions, plugins and other Vim related stuff.

Use emerge or eix to get an overview of available packages in the app-vim category:

user $emerge --search "%@^app-vim"
user $eix -cC app-vim

Configuration[edit | edit source]

Files[edit | edit source]

Vim can be configured on a per-user basis or through a system-wide configuration file:

  • /etc/vim/vimrc - The system wide (global) settings file.
  • ~/.vimrc - The user-specific (local) configuration file. The tilde (~) means it is in the user's home directory.

Usage[edit | edit source]

Getting started[edit | edit source]

Vim has a built-in tutorial which should require around 30 minutes to go through. Start it using the vimtutor command:

user $vimtutor

Color schemes[edit | edit source]

About a dozen color schemes are shipped with the base Vim package. They can be listed in last line mode by typing colorscheme, then pressing either Ctrl+d or pressing the Tab key twice:

:colorscheme
blue       darkblue   default    delek      desert     elflord    evening    industry   koehler    morning    murphy     pablo      peachpuff  ron        shine      slate      torte      zellner

They can be changed in Vim by using the colorscheme (alternatively use colo) command while in last line mode:

:colorscheme peachpuff

Color schemes can be permanently applied in the .vimrc file:

FILE ~/.vimrc
colorscheme peachpuff
syntax on

The first line sets the default color scheme while the last line activates the color scheme.

Tips and tricks[edit | edit source]

Using Vim like ex or ed from the command line[edit | edit source]

It is possible to use Vim for one-liners — commands that can be used in scripts or on the command-line to make changes in an unattended manner.

For instance, the following command adds # to the beginning of each line in the file.txt file:

user $vim -c ":%s/^/#/g" -c ":x" file.txt

What happens is that Vim interprets the passed on commands (through the -c option). The first command is Vim's substitution command (which is very similar to sed's), the second one is Vim's instruction to save and exit the editor.

Change file encoding[edit | edit source]

To change the file encoding of a file to UTF-8, use the following command (in last line mode):

:e ++enc=utf8

As shown in the previous trick, it is possible to do this from the command line as well:

user $vim -c ":wq! ++enc=utf8" file.txt

See also[edit | edit source]

  • Neovim
  • Vim/Guide — provides basic instructions for using the vim text editor.

External resources[edit | edit source]

This article is issued from Gentoo. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.