vis: a simpler vim

vis

vim has been around for years and accumulated a lot of legacy code. Projects like neovim have emerged to remove the clutter and extend vim with a modern approach. vis is a similar attempt written from the scratch to provide a vim-like experience without legacy baggage. It is under active development at the time of writing.

The stated goal of the project is to stay simple and with 80% of vim’s features implemented in roughly 1% of the code.

Features

  • extends vim’s modal editing with built-in support for multiple cursors/selections (as an alternative to visual block mode)
  • supports structural regular expression based command language from the Sam editor (written by Rob Pike)
  • Unicode support including double width and combining characters
  • handles large files (upto few GBs) of multiple formats
  • binary ELF files
  • syntax highlighting
  • Lua API for in process extensions
  • can be built with musl
  • familiar keyboard shortcuts (for vim users) for operations, movement, text objects, marks, registers

Note that there is no mouse support at the time of writing.

Installation

vis is available on AUR. Packages for other distros are not available at the time of writing. To compile it from source on other distros, you need to install the following dependencies first:

  • a C library (musl recommend)
  • libcurses, preferably in the wide-character version
  • libtermkey
  • lua >= 5.2 (optional)
  • LPeg >= 0.12 (optional runtime dependency required for syntax highlighting)

Then run:

$ git clone https://github.com/martanne/vis
$ ./configure && make && sudo make install

Usage

vis has numerous options as you’ll expect. Run:

$ man vis

Rating

Features: 4/5
Usability: 3.5/5 (for advance users)

Comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s