post you are a developer, designer, blogger, qa analyst, manager, or copywriter; there is one tool that you should completely own. Your text editor. I think it gets overlooked and underused. We are enticed by the wide array of “productivity” enhancing tools that have more features. There is a legion of folks who believe that something as measly as a text editor can’t handle what they need in their daily workflow. I beg to differ.
Your editor should fit nicely into your workflow. It should be able to handle any sort of ASCII file you open in it. Whether a plain text file, Ruby, Textile, HTML, CSS, whatever, you use, it should open. A developer won’t spend much time without their favorite editor open. If you are opening a file in a programming language or markup, it should highlight it. This goes beyond actual work too, text editors are great for todo lists, taking notes, the list goes on.
The key to a lot of text editors is the advanced features. Advanced features may not come easy, I still struggle to introduce a new advanced feature into my workflow but it gets there eventually. Read a manual or buy a book on your editor and learn the ins and outs. The advanced features will make your life easier, and speed up your time spent editing.
This is one thing that has kept me from working exclusively with TextMate (and it isn’t open source). It only supports OS X and has no plans on supporting any other environment. I respect their decision, but that simply doesn’t work for me. At home I have an Apple laptop, and at work I am on a run of the mill desktop running linux with a Windows VM (for Outlook and IE testing). I have warmed up to the open source editors Vim and Emacs. I currently use Vim, but I am interested in giving Emacs a fair chance as well. There is a flavor of both of these that will run on any widely distributed OS. Which is great because I will never have to worry about my editor not being supported by the OS.
I don’t agree with using an IDE simply because they try to provide more than what I want. Often times they include build tools, compilers, APIs, version control, and more. I prefer to manage that outside of my editor. I understand that when you get into something new you want some of the features that do things for you, but I felt like I never truly learned that stuff because I was in an IDE. Why would you learn something when you just had to click a button and it would work for you? The other thing I don’t like about these is that by the time you have all of the side-bar, bottom-bar, top menu all showing, it leaves you a very small window to edit your text with. Boo IDEs.
I love text editors because they are light weight, do exactly what you expect, nothing more, nothing less, and they are rock-solid stable. If you spend any time at your computer producing code, documents, lists, or blog entries, it will be worth it to you to get awesome with your editor. There is a good chance that your editor will be around for a lot longer than the language you are working with (Vi created in 1976).