Vim

vim(1) is a terminal text editor. It is closely related to a family of editors stretching from ed(1) to nvim(1), but vim(1) is both the most commonly available and most visible.


History

ed(1) is a line editor. Originally created by Bell Labs for Unix, GNU ed is a POSIX-compliant implementation.

ex(1) is the extended line editor written for the first Berkeley Software Distribution. It is POSIX-compliant implementation of ed(1).

vi(1) is a visual text editor built on ex(1). Type a colon (:) to enter ex mode.

vim(1) is vi improved.

nvim(1) is a fork of vim(1) with a significantly refactored codebase, including...


Installation

All *nix distributions will have a POSIX-compliant implementation of ed(1) and vi(1) pre-installed.

Many distributions will also have vim(1) pre-installed. Most will at least offer vim and neovim packages.

For Windows users, while GVim is an option, Neovim is strongly recommended. Chocolatey offers a neovim package.


Tips

Searching for Non-ASCII Characters

Vim regular expressions can use hexadecimal to represent non-ASCII code points, but the syntax differs for literal characters and character classes. To search for the number 0, try /\%x30. But to search for any non-ASCII code point, try /[^\x00-\x7F] (note: the omitted percent sign).

Similar syntax is available for Unicode code points, especially multibyte characters. To search for left curly quotes, try /\%u201c. To search for left or right curly quotes, try /[\u201c-\u201d].

Quoting Words

Affixes can be applied programmatically using word deletion and registers. For example, to quote the currently selected word, use ciw'Ctrl+r"'.

This method can be used to apply any affixes. To surround an SPSS string variable name with the trimming functions, use ciwrtrim(ltrim(Ctrl+r")).


CategoryRicottone