Yi is a text editor written in Haskell and extensible in Haskell. The goal of Yi is to provide a flexible, powerful and correct editor core scriptable in Haskell.
Ranked in these QuestionsQuestion Ranking
Pro Combines and improves upon the best text-editing features from your favorite editors
Yi has default configurations for Vim, Emacs, as well as CUA. It also makes several improvements that includes Sublime-like (multiple) cursors.
Pro More performant than Vim
Vim can be rather slow due the age of its code base. In particular, running large macros in Vim can be rather painful. Since Yi is being built from scratch it has been engineered for performance and with the benefit of hindsight.
Pro Extensible and modular editing features
As far as extensibility goes, Yi easily outstrips any other open-source text editor. Motions can be built from parser combinators, making them simultaneously flexible and modular - an open source hacker's dream.
Pro Plugins work together
Packages work together because they compile together.
Con Very few plugins available
Even though Yi is a general purpose text editor similar to Vim and Emacs, almost all of the plugins that have been written for Yi so far focus on supporting Haskell as a programming environment.
Con No way to reuse your existing customizations and keybindings
If you have spent years crafting your
.emacs, there's no way to reuse it in Yi. You have to start from scratch.
Con Requires Haskell to compile and configure
GHC + Haskell packages makes for a rather large installation, which is a big ask for a relatively obscure terminal editor.