When comparing MacVim vs Yi, the Slant community recommends MacVim for most people. In the question“What are the best programming text editors?” MacVim is ranked 13th while Yi is ranked 46th. The most important reason people chose MacVim is:
Every plugin available for Vim is available for MacVim too.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Lots of plugins
Every plugin available for Vim is available for MacVim too.
Pro Extremely customizable
MacVim is Vim, meaning it has all of Vim's customizability and power.
Pro OS X input methods
MacVim supports OSX's native shortcuts making the adoption of Vim easier.
Pro Extensive community support
MacVim, like Vim itself has a large community backing it.
Pro Automatic font substitution
In cases of a selected font missing certain characters, MacVim will find a font that has that character.
Pro Vimtutor teaches the basics of Vim in 30 minutes
Vimtutor is an excellent interactive tutorial for people with no prior experience of Vim. It's bundled with Vim and takes about 30 minutes to complete.
Pro Everything is a mnemonic
Vim associates keys with words. For example, d
is for "delete" and w
is for "word". To perform an action you string together letters. Thus, to delete a word, press dw.
This way it's possible to abstract a large amount of functionality that Vim provides in an intuitive way.
Pro Enables effective keyboard-driven editing due to its modal nature
Interaction with Vim is centered around several modes. Each mode has a different purpose and switching between them changes behaviour and keybindings. There are 12 modes in total (six basic modes and six variations on basic modes) and four of them are used commonly.
Insert mode is for entering text. This mode most resembles traditional text entry in most editors.
Normal mode (the default) is entered by hitting ESC and converts all keybindings to center around movement within the file, search, pane selection, etc.
Command mode is entered by hitting ":" in Normal mode and allows you to execute Vim commands and scripts similar in fashion to a shell.
Visual mode is for selecting lines, blocks, and characters of code.
Modes allow separating concerns between various tasks and reusing keys for different kinds of functionality. As a result, the workflow becomes more efficient.
Pro Multi-byte support
Permits writing characters that don't fit in one byte, most notably logograms (for writing in languages such as Japanese, Chinese, and Korean) and Unicode characters.
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.
Cons
Con Slow when opening files with very long lines
A lot of very long lines can make MacVim take up to a minute to open, where a few other editors take only a few seconds to load the same file.
Con Only available on macOS
A decent text editor is available on all major platforms (macOS, Linux, Windows).
Con Difficult learning curve
MacVim after all is still Vim, and with that comes the complexity that Vim brings and the difficult learning curve that needs to be overcome.
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 .vimrc
or .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.