When comparing MacVim vs Femto Emacs, the Slant community recommends MacVim for most people. In the question“What are the best open-source text editors for programming?” MacVim is ranked 29th while Femto Emacs is ranked 37th. 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 Well documented
A long and well written tutorial teaches how to program in femtolisp and write extensions for Femto Emacs.
Pro Highly compatible with Emacs
If you know Emacs, you can start using Femto Emacs immediately.
Pro Very small footprint
The size of the executable file and the femtolisp library add up to only 500 k. The C source code is also small and well documented, so one can easily modify it. You can also use the source code to learn how to program a text editor.
Pro Very fast startup time
For small files, Femto Emacs starts up faster than emacs or vim.
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 No syntax coloring for Latex
The distribution comes with syntax coloring examples for many languages, like Haskell, C, Lisp, Python, etc. However, there is no scheme for Latex. If you need syntax coloring for Latex, you will need to add your own color scheme.
Con Source distribution only
Femto Emacs is distributed only in source form. Therefore, you need to install ncurses, gcc and compile it with make and make install. There is no binary distribution. If you want mouse support, you need to program it in femtolisp or in C. This should not be a problem if you are a programmer, but can become an issue if you don't know Lisp or C. If you want to use femtolisp on Windows, you will need mingw and ncurses.