vi / vim

Vi, Vim, Emacs are screen oriented text editors created for the Unix operating system. (The Vi vs. Emacs debate is almost as vicious as spaces vs. tabs). All of these require a steep learning curve.

All of these programs share common features: they require a steep learning curve, they have an intuitive keyboard command language, small, installed in a variety of places, and powerful once learned.

Daniel Miessler Links to an external site. has a great blog post on this where he has some cool diagrams I am lifting for this module.

First, let's talk about Vi vs. Vim:

Vi-vs.-Vim.jpg

Vim is widely considered a "super-set" of Vi. The differences are minor (and more additions (or distractions)) in Vim. Vim is better for an IDE since it features many things you need such as syntax highlighting and other features.

Vi(m) vs Emacs
This is much strongly debated.
vivsemacs.png