Text Editor

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.

Key Features

  • 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.

Website: github.com/martanne/vis
Support: Wiki
Developer: Marc André Tanner and contributors
License: ISC license

vis

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.


Related Software

Vim-like Text Editors
NeovimVim-fork focused on extensibility and usability
HelixKakoune / Neovim inspired editor.
LapceModern editor in Rust which uses native GUI and GPU rendering
NvChadNeovim config aiming to provide a base configuration
LunarVimIDE layer for Neovim
KakouneImplements Vi’s "keystrokes as a text editing language" model
VisCombining modal editing with structural regular expressions
vileText editor that combines aspects of the Emacs and vi editors
pyvimImplementation of Vim in Python
gVimVim with a built-in GUI
ampVim-like editor written in Rust
VyVim-like in Python made from scratch
moeCommand-line editor inspired by Vim
adAdaptable text editor
LeveeAlso known as Captain Video
xviPortable multi-file text editor

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments