All Projects → martanne → Vis

martanne / Vis

Licence: other
A vi-like editor based on Plan 9's structural regular expressions

Programming Languages

c
50402 projects - #5 most used programming language
lua
6591 projects

Projects that are alternatives of or similar to Vis

Kakoune
mawww's experiment for a better code editor
Stars: ✭ 7,593 (+104.72%)
Mutual labels:  console-application, text-editor, modal-editing
Nano Win
GNU nano text editor for Windows [WARNING: The master branch is constantly rebased and force-pushed so don't expect it to be steady!! -end WARNING]
Stars: ✭ 123 (-96.68%)
Mutual labels:  console-application, text-editor
Mazu Editor
a minimalist text editor with syntax highlight, copy/paste, and search
Stars: ✭ 88 (-97.63%)
Mutual labels:  console-application, text-editor
Moe
A command line based editor inspired by vi/vim. Written in Nim.
Stars: ✭ 252 (-93.21%)
Mutual labels:  console-application, text-editor
Slingcode
personal computing platform
Stars: ✭ 277 (-92.53%)
Mutual labels:  text-editor
wide
A lightweight web IDE (mostly a coding editor) based in monaco-editor (with a one-file server made in php). It allows to navigate the server with commands.
Stars: ✭ 42 (-98.87%)
Mutual labels:  text-editor
openViVi
open source version of ViVi text editor
Stars: ✭ 48 (-98.71%)
Mutual labels:  text-editor
slim-command
Useful commands for slim application
Stars: ✭ 13 (-99.65%)
Mutual labels:  console-application
Toaruos
A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc.
Stars: ✭ 4,687 (+26.37%)
Mutual labels:  text-editor
Encryptpad
Minimalist secure text editor and binary encryptor that implements RFC 4880 Open PGP format: symmetrically encrypted, compressed and integrity protected. The editor can protect files with passwords, key files or both.
Stars: ✭ 305 (-91.78%)
Mutual labels:  text-editor
Emacs Theme Darktooth
Darktooth : From the darkness... it watches.
Stars: ✭ 270 (-92.72%)
Mutual labels:  text-editor
helix
A post-modern modal text editor.
Stars: ✭ 5,425 (+46.27%)
Mutual labels:  text-editor
Micro
A modern and intuitive terminal-based text editor
Stars: ✭ 18,526 (+399.49%)
Mutual labels:  text-editor
conso
💢 PHP console applications for cool kids 💢
Stars: ✭ 40 (-98.92%)
Mutual labels:  console-application
Vim Anywhere
Use Vim everywhere you've always wanted to
Stars: ✭ 3,295 (-11.16%)
Mutual labels:  text-editor
maze
cpp console application vcs example
Stars: ✭ 23 (-99.38%)
Mutual labels:  console-application
Graphviz Visual Editor
A web application for interactive visual editing of Graphviz graphs described in the DOT language.
Stars: ✭ 261 (-92.96%)
Mutual labels:  text-editor
Phi
phi: gpu accelerated code-editor; definitely not to be confused phonetically with vi.
Stars: ✭ 308 (-91.7%)
Mutual labels:  text-editor
That editor
*That* editor.
Stars: ✭ 262 (-92.94%)
Mutual labels:  text-editor
Photoeditor
A Photo Editor library with simple, easy support for image editing using paints,text,filters,emoji and Sticker like stories.
Stars: ✭ 3,105 (-16.28%)
Mutual labels:  text-editor

Vis - Combining Modal Editing with Structural Regular Expressions

builds.sr.ht status Coverity Scan Build Status codecov Documentation Status #vis-editor on freenode

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

It extends vi's modal editing with built-in support for multiple cursors/selections and combines it with sam's structural regular expression based command language.

A universal editor, it has decent Unicode support and should cope 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.

The editor core is written in a reasonable amount of clean (your mileage may vary), modern and legacy-free C code, enabling it to run in resource-constrained environments. The implementation should be easy to hack on and encourage experimentation. There is also a Lua API for in-process extensions.

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. There exist plans to use a client/server architecture, delegating window management to your windowing system or favorite terminal multiplexer.

The intention is not to be bug-for-bug compatible with vi(m). Instead,
we aim to provide more powerful editing features based on an elegant design and clean implementation.

vis demo

Build instructions

In order to build vis you will need a C99 compiler, a POSIX.1-2008 compatible environment as well as:

  • libtermkey
  • curses (recommended)
  • Lua >= 5.2 (optional)
  • LPeg >= 0.12 (optional runtime dependency required for syntax highlighting)
  • TRE (optional for more memory efficient regex search)

Assuming these dependencies are met, execute:

$ ./configure && make && sudo make install

By default the configure script will try to auto detect support for Lua using pkg-config(1). See configure --help for a list of supported options. You can also manually tweak the generated config.mk file.

Or simply use one of the distribution provided packages.

Documentation

End user documentation can be found in the vis(1) manual page and the Wiki. Read the FAQ for common questions. Learn about some differences compared to sam(1) and vim(1), respectively.

C API as well as Lua API documentation is also available.

Non Goals

Some features which will not be implemented:

  • tabs / multiple workspaces / advanced window management
  • file and directory browser
  • support for file archives (tar, zip, ...)
  • support for network protocols (ftp, http, ssh ...)
  • encryption
  • compression
  • GUIs (neither x11, motif, gtk, win32 ...) although the codebase should make it easy to add them
  • VimL
  • right-to-left text
  • ex mode, we have more elegant structural regexp
  • diff mode
  • vimgrep
  • internal spell checker
  • lots of compile time configurable features / #ifdef mess

How to help?

There are plenty of ways to contribute, below are a few ideas:

Checkout the Developer Overview to get started and do not hesitate to ask question in the #vis-editor IRC channel on freenode.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].