Vim is actually very nice text editor for all kind of software developer who write their code into a text file. Coding a software is not all about using that fancy IDE with drag-and-drop and click-click feature, real developer use text editor to code even with the simplest editor like Notepad.
Vim is one major text editor used by developer (usually using their Mac OS/Linux OS machine). The other is maybe Sublime Editor which is not a free (gratis) software (although you can technically use it without any fee). However, other than its popularity, vim still being vi. It has very steep (like climbing a wall) learning curve.
The main feature of vi is three kind of mode : Normal (which a keystroke means an action), Insert (which a keystroke inputted as a character) and Visual (which provided capability to do selection). Unlike any other computer software, vim key shortcut doesn’t extensively use Ctrl or Alt button (especially in Normal Mode). It just mostly a key around alphabetic and punctuation mark. And yes, most of the time you don’t need to use your right hand to press key like arrow, home, page down, page up, or use it to move your mouse (for right-handed). Last but not least, vim has extensive customization feature plus with many freely available plugins.
Vim text editor available as default choice in Mac OS X (Yes, just open it with terminal) and most of Linux distribution. It also available in Microsoft Windows and you can open it with or without graphical user interface with exactly the same feature.
But for the first timer, it will be a lot of hassle for using a vim because by default. It will be exhausting to setup a comfortable vim environment, configuring it, install some plugin and etc. So there is a solution that I will tell you, use a Vim distribution which actually a script to install and configure vim so it will be ready to use with nice interface and many plugin. The one I recommended is spf13 (https://github.com/spf13/spf13-vim). You can install it in your Linux/Mac OS X via this command :
sh <(curl https://j.mp/spf13-vim3 -L)
First, you need a vim (>= 7.3) and Git (>= 1.7) installed on your system because it will do a lot of git clone stuff to install every plugins.