Twenty five years ago the computer industry was fraught with religious wars. There was the OS war that purported to be about which OS was the best for a personal computer. Similarly there was the programming language war. And, last but most certainly not least, there was the text editor war over which was the best editor for entering text into a computer.
There are many more options in each of these categories now. And, people still have strong opinions about which option they prefer. The religious zealotry has largely subsided though. People are finally more focused on getting the job done than they are finding the absolute best way to do something on a computer.
I have my opinions, particularly when it comes to text editors. Text editing is my bread and butter. I write programs, documents, and stories with a text editor. For years I was an emacs snob. Actually, it was more a matter of muscle memory. I had used emacs for so long that I no longer had to consciously think of a command, my fingers just type it when I thought about wanting to execute it. I have joked about muscle memory but it is true, I am immediately more productive when I sit down to a machine with emacs installed on it.
But part of the job of a senior developer is to help more junior developers figure out ways to be more productive. I could have taken the time to get emacs installed on the lab machines. There is a process and I’ve been told to feel free to do it. But on further consideration I have decided that I push past my comfort zone and learn more about the vi editor, or more specifically the vim editor.
Vi has been around since soon after the rise of the unix operating system. It was written by Bill Joy of Sun Microsystems. It is notable if only for the fact that it is delivered on practically every unix distribution in the world. It has a reasonably rich command set. I wanted to get past the point of having to look each one up in order to use it so I started using it to develop the various test cases that I am responsible for verifying.
I have only been using it in this capacity for a couple of days but I can report that it is much more capable than I would have thought. Over the years all the major programming text editors have added features like intelligent code formatting and keyword highlighting. Code highlighting can be very useful for calling attention to inadvertent typographical editors in your program.
These days the choice has boiled down to the answer to these questions: What editor does everyone else use? What are most of the developers on the project use to? What features are you most familiar with and which ones fit the type of uses you intend to demonstrate?
Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.