The Vim editor always reminds me of a coelacanth – a survivor of a past age that looks impossibly clumsy yet somehow works. At times, it seems to have more commands than anyone could memorize or use, some with obsolete names (for instance, “pull” for “paste”). Yet if you learn even a fraction of its functionality, you can work faster and more efficiently than with any GUI editor. Take, for example, Vim’s undo and redo features, parts of which seem counterproductively complicated, yet which are more powerful than most equivalents in other text editors.