I've been using vis as my primary editor for six months, and I'm quite happy with it. (I'm a long time vim user.)<p>Main selling points for me:<p>- Simple editor, easy to learn, with a ~650 line man page as the documentation<p>- Simple, yet has the most useful features from the great vim and sam editors<p>- No feature bloat - unlike vim<p>- No vimscript (lua instead)<p>- Readable and hackable codebase - unlike vim<p>- Structural regular expressions<p>For now the unavailable features that I miss the most are tag browsing and code folding. I don't miss them very much in sufficiently clean and modular codebases, but they are indispensable when analyzing large, complex, or badly written code. I switch to vim when that is the case. I should say that their implementation is considered though:<p><a href="https://github.com/martanne/vis/issues/547" rel="nofollow">https://github.com/martanne/vis/issues/547</a><p><a href="https://github.com/martanne/vis/issues/342" rel="nofollow">https://github.com/martanne/vis/issues/342</a><p>vis is highly recommended to anybody looking for a better vim and appreciate & know how to use vim without a gazillion of plugins.
Anyone interested in what structural regular expressions are and how they're superior to ordinary regular expressions is encouraged to read:<p><a href="http://doc.cat-v.org/bell_labs/structural_regexps/se.pdf" rel="nofollow">http://doc.cat-v.org/bell_labs/structural_regexps/se.pdf</a>
This is an excellent vi-like editor. I've been using it for a while as a lightweight vim alternative and have few complains.<p>The name choice is unfortunate, as it clashes with the vis(1) command, which has existed since 4.4BSD
I used Vis full time for a two weeks a couple of months ago. It was pretty nifty. (I'm Emacs user so this was an time-bounded experiment).<p>Vis is a great of example of the suckless philosophy and of Guy Steele's point about removing the need of features by having synergy between other features. For example they have an immutable piece table to support undo by just moving a pointer. This would mean that as the buffer remains open one would use more and more memory. Instead of implementation a 'garbarge collector' they chose to automatically close a file when its not shown on the screen.
It always amazes me that Plan 9, which is widely regarded as a joke OS, has continues to inspire new software with the different way it did just about everything.<p>I have P9 VM, and I have never quite understood what I am doing with it, but I keep hearing of developers borrowing from its codebase to make exciting new software.<p>I also find SSSPC and TempleOS to be entertaining OSs to explore, as they are so very different from the OSs I am used to.
A nod to Data Structures for Text Sequences by Charles Crowley as Vis utilizes the piece chain.<p>[1] <a href="https://www.cs.unm.edu/~crowley/papers/sds.pdf" rel="nofollow">https://www.cs.unm.edu/~crowley/papers/sds.pdf</a>