The widely used and extremely powerful vim text editor, adapted for Mac.
Ranked in these QuestionsQuestion Ranking
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.
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 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.