Vis – Combining Modal Editing with Structural Regular Expressions

Vis aims to be a modern, legacy-free, simple yet efficient editor, combining the strengths of both Vi(m) and sam.

Vis strives to be simple and focuses on its core task: efficient text management. Clipboard and digraph handling as well as a fuzzy file open dialog are all provided by independent utilities.

Vis uses selections as core editing primitives. A selection is a non-empty, directed range with two endpoints called cursor and anchor. A selection can be anchored in which case the anchor remains fixed while only the position of the cursor is adjusted. For non-anchored selections both endpoints are updated. A singleton selection covers one character on which both cursor and anchor reside. There always exists a primary selection which remains visible (i.e. changes to its position will adjust the viewport).

The intention is not to be bug-for-bug compatible with Vi(m).

Structural regular expressions focus on the notion that text editing shouldn’t be artificially limited by the concept of a line.

Features include:

  • Same modal editing approach as vi, but extends it with built-in support for multiple cursors/selections.
  • More powerful editing features based on an elegant design and clean implementation.
  • Builtin support for multiple cursors/selections.
  • Undo tree to keep track of text revisions.
  • Combines it with sam’s structural regular expression based command language.
  • Unicode support.
  • Works with with arbitrary files, including large, binary or single-line ones.
  • Efficient syntax highlighting is provided using Parsing Expression Grammars, which can be conveniently expressed using Lua in the form of LPeg.
  • POSIX Extended Regular Expression.
  • Clipboard integration, digraph support and a menu used for a file selection dialog and word completion are all implemented as standalone tools.
  • Plugins extend functionality.
  • Uses Lua for configuration and scripting purposes.

Support: Wiki
Developer: Marc André Tanner and contributors
License: ISC license


Vis is written in C and Lua. Learn C with our recommended free books and free tutorials. Learn Lua with our recommended free books and free tutorials.

Return to Vim-Like Text Editors Home Page

Read our complete collection of recommended free and open source software. The collection covers all categories of software.
Share this article