Vim is probably the most configurable text editor know. It was written by Bram Moolenaar
and first released publicly in 1991 but it’s is in active development
and it used across several plaforms including Linux, Windows and Mac.
It is widely used in developer community due to its:
Flexible multiple document interface: In Vim, your
files and unsaved documents are referred to as buffers. The editor gives
you a tremendous amount of control over how your buffers are displayed
on the screen
Modal editing with sophisticated keyboard shortcuts:
Vim has separate interaction modes for text input and text editing.
Insert mode behaves largely as you would expect a regular text editor to
work—commands are performed with conventional keyboard shortcuts and
characters are appended to the buffer as you press the associated keys.
In the “normal” mode, however, sequences of key presses perform commands
Multiple clipboards: Instead of a conventional
clipboard, Vim stores copied text with a mechanism that it calls
registers. This effectively acts like a clipboard multiplexer. The
contents of the registers persist between uses of Vim, which means that
they are preserved when you quit and will still be there when you open
the editor again.
Macros: Vim has a macro system that allows you to record keypresses for later playback.
Extremely powerful search capabilities: Vim has
some very sophisticated tools for automated search and replace,
including extensive support for regular expressions. It also has a
built-in version of the
grep command, which integrates with
Vim’s enormously convenient quickfix feature—a special buffer that
shows you a list of results and allows you to conveniently jump between
Extremely rich extensibility: Vim is prodigiously
scriptable and highly conducive to automation. It has its own native
scripting language with container types, a unique variable scoping
model, and a bunch of useful Vim-specific functionality
Portability: Vim will work almost everywhere that
you do. Vim is widely used on Windows, Linux, and Mac OS X and is
available for many other platform. Users can run it from the terminal or
operate it with a native graphical interface on all three major
But starting Vim for the first time is painful for everyone. Here I
got an interactive online tutorial on Vim, which is fun to try
If you are starting with Vim, I would recommend you to try it out once, just for fun. :)