Recs.
Updated
SpecsUpdate
Pros
Pro Lots of plugins and addons that extend functionality
Vim has been around for a long time and has a plethora of plugins available for it. Plugins like omnisharp-vim that provide context-aware C# completions for methods, types, etc, and plugins like neocomplete that provide keyword completions can be used to easily add additional functionality that will help with development on Unity.
Pro Ubiquity and portability
Vi/vim exists on almost all Unix-like platforms, it is the de-facto Unix editor, and is easily installed on Windows. All you need to make it work is a text-based connection, so it works well for remote machines with slow connections, or when you're too lazy to set up a VNC/Remote Desktop connection.
Pro Lightweight and fast
When compared to modern graphical editors like Atom and Brackets (which have underlying HTML5 engines, browsers, Node, etc.), Vim uses a sliver of the system's memory and it loads instantly, all the while delivering the same features. Vim is also faster than Emacs.
Pro Extremely portable
Vi/vim exists on almost all Unix-like platforms. It's the de-facto Unix editor and is easily installed on Windows. All you need to make it work is a text-based connection, so it works well for remote machines with slow connections, or when you're too lazy to set up a VNC/Remote Desktop connection.
Pro Has been supported for a long time and will be supported for many years to come
Pro Can never outgrow it
The fact that very few, if any, people claim to be a "Vim Master" is a testament to the breadth and depth of Vim. There is always something new to learn - a new, perhaps more efficient, way to use it. This prevents Vim from ever feeling stale. It's always fresh.
Pro Excellent performance
As it loads the whole file into RAM, replacing all string occurrences in 100 MB+ files is quick and easy. Every other editor has sort of died during that. It is extremely fast even for cold start. Vim is light-weight and very compact. In terminal, it only uses a small amount of memory and anytime you invoke Vim, it's extremely fast. It's immediate, so much so you can't even notice any time lag.
Pro Keyboard-based, mouse-free interface, and trackpad support
There's no need to reach for the mouse or the Ctrl/Alt buttons again. Everything is a mere key press or two away with almost 200 functions specifically for text editing. Vim does support the mouse, but it's designed so you don't have to use it for greater efficiency.
Versions of Vim, like gVim or MacVim, still allow you to use the mouse and familiar platform shortcuts. That can help ease the learning curve and you'll probably find you won't want to (or need to) use the mouse after a while.
Pro Keyboard-based, mouse-free interface
There's no need to reach for the mouse or the ctrl/alt buttons again. Everything is 1 or 2 key presses away with almost 200 functions specifically for text editing. Vim does support the mouse, but it's designed so you don't have to for more efficient usage.
Versions of vim like gVim or MacVim still allow you to use the mouse and familiar platform shortcuts. That can help ease the learning curve and you'll probably find you won't want to, or need to, use the mouse after a while.
Pro Everything is a mnemonic
No need to memorize different key combinations for things like deleting the text inside of a block or deleting the text inside of a pair of quotes. It's just a series of actions, or nouns and verbs, or however you prefer to think about it. You want to delete, so you select "d", you want it to happen inside something, so "i", and you want the surrounding double-quotes, so just ". But if you were changing the text, or copying it, or anything else, you'd still use the same "i" and ". This makes it very easy to remember a large number number of different extremely useful commands, without the effort it takes to remember all of the Emacs "magic incantations", for example.
Pro Like riding a bicycle
Its somewhat steep learning curve is more than made up for once you've mastered a few basic concepts and learned the few tricks that will allow you to program faster with fewer cut/paste mistakes. Vimtutor takes ~30 minutes and will take you a long way towards understanding vim.
Cons
Con Poor support for external tooling
Many plugins depend on optional Python and Lua features, which may or may not be included in whatever binaries are available for your system. And without platform-specific hacks, it is difficult for plugins to operate in the background or use external tooling.
Con Poor feature discoverability
Though basic features like syntax checking, autocompletion, and file management are all available out of the box or with minimal configuration, this is not obvious to new users, who might get intimidated or assume they need to install complex plugins just so they can have this functionality. Other features new users might expect to find embedded in Vim, such as debugging, instead follow a UNIX-style model where they are called as external programs, the output of which might then be parsed by Vim so it can display results. Users not familiar with this paradigm will likely fault Vim for lacking those features as well.
Con Difficult learning curve
You'll spend a lot of time learning all the commands and modes supported in Vim. You'll then spend more time tuning settings to your needs. Although once it's tuned to your needs, you can take your .vimrc
to any machine you need and have the same experience across all your computers.