My experiences with text editors

My first introduction to a computer also introduced me to my first editor. That was in late 1993 when I, as a fresher at college had to do a course on Pascal as an introduction to computing. The turbo pascal package which I was using on the PC had an in-built editor and I was already awestruck with what computers could do. I must say, I enjoyed my pascal programming though I had no idea of what an editor meant in those days. By the time I could understand the meaning of an editor, I was already learning C, this time too using the turbo C editor. With pretty menus and a good on-line help they were very nice editors for a beginner. Select, copy/cut and paste were considered amazing operations. 

When I was learning 8086 assembly language programming in 1995, I started using MS-DOS edit which also turned out to be a simple and easy-to-learn editor. By 1996, when I was in my senior year doing my project, I started using both MS-DOS edit as well as the norton editor (also on MS-DOS platform) which was more popular for some unknown reason. I found both quite good and user friendly. In those days, I couldn't imagine an editor being able to do anything more than moving/copying text from one place to another. 

Quite soon, I got an account on a UNIX server and with it my first email account. Naturally, I was quite excited with the idea of being able to send and receive electronic mail. I shall never forget the torture I underwent at my unsuccessful attempt at typing my first mail. The editor that I had to use was known as vi! As soon as I started vi, I was astonished to find that the menus were missing! I tried to get some help by pressing the F1 key - little did I know that it makes no sense to do that when you are running a telnet program from a PC. Already frustrated, I started typing to see that the characters didn't appear initially, but suddenly something started appearing (I must have pressed either 'i' or 'a'). But I couldn't do too much because the arrow keys on my PC's keyboard did something totally weird :-(. I was already quite angry with the developers of this bizarre editor - who could have developed this user-hostile program? Why can't they have any menus? To add to my woes, I didn't know how to quit! I tried out all sorts of key combinations to let me out of this hostile environment. Finally, I resorted to the combination of ctrl-alt-del. If you have never worked on an MS-DOS platform, I must tell you that this action rebooted the PC! 

I got some tips on using vi from a friend. He didn't have answers to many of my questions - what relation did 'j' have with the down arrow? How should anyone know that :wq quits the program? Of course, once I knew a more user-friendly editor called emacs was available on UNIX, I didn't use vi for a long time. However that was a quite primitive version of emacs. 

People who used vi even on DOS amused me when such nice programs like MS-DOS edit were available. Even I, after getting a hang of what vi is started using it for making small changes to text files. The reason was - I felt it wasn't easy to make a change by mistake in vi :-). One person whom I worked with, Vasudev Nambakkam was one of those who would use vi even on DOS. He amazed everyone with his fluency with vi - his working efficiency appeared to be extremely high. It was quite clear that vi had something which I really didn't realize. So I decided to try it as my regular editor. After that, it didn't take much time for me to realize the beauty that vi is. There was some charm about the way the keys were mapped. It provided so much at my "fingertips". As I discovered more and more about vi, I was astonished at the power of a program so small in size. By the time I passed out of college, I knew I was addicted to vi. 

I started working for CG-CoreEl logic systems where most of our work with text editors involved coding in VHDL. To my disappointment, my boss insisted that I use BRIEF for this purpose. He had a point though - his reasoning was that if all engineers used the same editor, it helped maintain consistency in the code among various coders. However, observations indicated otherwise. Even amongst people who used the same editor, there was a lot of inconsistency in the code. I believe that consistency depends more on one's commitment to quality rather than the editor that one uses. 

In any case, BRIEF turned out to be an amazingly powerful editor - popup menus, column editing, inbuilt macro language were something unknown of. However, it lacked the charm vi had and I continued to stealthily work using vi. People at my office would often compare BRIEF and vi and I couldn't ever convince anyone that it was easier to work on vi. 

I had heard a lot about the later versions of emacs and when I learnt that it had a vi-mode, I decided I must give a try to it. As expected, emacs showed up with some nice language friendly features. But somehow, I found that it didn't go well with Windows. The program was too big, the syntax highlighting was extremely slow, the frequent use of the control key (even in the vi mode) was not too convenient and so on. So, I reverted back to vi! 

During the last quarter of 1998, I once had a look at the postings on the newsgroup comp.editors and found lots of discussions on a clone of vi called Vim. I soon found out where to get the latest version and downloaded it. It took me absolutely no time to realize that I had struck upon a goldmine. 

Though Vim modestly calls itslef "Vi IMproved", it really provides a much different environment. With an amazing on-line help, its power is limited only by the user's creativity. Each time I look up the online documentation, it surprises me with some cute feature. Now, I don't have to try to convince anybody that this is better than any other editor, people who try it know it themselves. Today, even my boss uses Vim!. 

Aziz's vim page Aziz's home