Favicon of vis

vis

A modern vi-like editor combining modal editing with sam's structural regular expressions, multiple cursors, and efficient syntax highlighting via Lua-based parsing.

Vis is a modern text editor that brings together the best of vi's modal editing paradigm and sam's powerful structural regular expression language. Unlike traditional vi clones, it offers built-in support for multiple cursors and selections, enabling you to edit multiple parts of a document simultaneously with precision.

The editor leverages structural regular expressions for its command language, providing a more elegant and powerful approach to text manipulation than traditional ex commands. This allows for complex transformations that are both intuitive and efficient.

Key capabilities include:

  • Efficient syntax highlighting powered by Parsing Expression Grammars expressed through Lua and LPeg
  • Excellent Unicode support and ability to handle arbitrary files including large, binary, or single-line documents
  • Clean, modern C implementation that runs efficiently even in resource-constrained environments
  • Lua API for in-process extensions and customization
  • Minimal core design that delegates auxiliary tasks like clipboard handling and file dialogs to independent utilities

Vis prioritizes simplicity and clean implementation over feature bloat. It focuses on its core strength: efficient text management. The codebase is designed to be hackable and encourages experimentation, making it ideal for developers who want to understand and extend their editor. The architecture supports future client/server capabilities, allowing integration with your preferred terminal multiplexer or window manager.

Features

Config filePlugin systemScriptable

Shell features

Lua configSyntax highlighting

Media

asciinema

Pros

4
  • Combines modal editing with structural regular expressions.
  • Supports multiple cursors and efficient syntax highlighting.
  • Extensible via Lua API for in-process extensions.
  • Written in C for efficiency and resource-constrained environments.

Cons

2
  • Not aiming for bug-for-bug compatibility with vi(m).
  • Does not include features like tabs, file browsers, or network protocols.

Related tools

Categories:

Share:

  • Stars


    4,644
  • Forks


    281
  • Latest version


    v0.9
  • Last commit


    14 days ago
  • First release


    12 years
  • Language


    C

Auto-fetched .

Recent releases

Similar to vis

Favicon

 

  
 
Favicon

 

  
 
Favicon