Ultraedit
Real programmers code in text editors.
And, for what it’s worth, so do I!
Look, I’m the first to tell you that I’m not a programmer. Honestly, I think it would kill me to sit in front of a monitor all the time and do nothing but bang out code, then re-read that code for errors and spend endless hours debugging it. Still, I have done a bit of Perl programming. And, I am, as of this writing, a Level 11 PerlMonk, which is something that makes me proud. I’ve also done some pretty heavy customization of my blogs and, on the rare occasion that I muck around in the HTML and CSS, I do it in a text editor. Actually, to be specific, I do it in UltraEdit.
I’ve used a couple of versions of UltraEdit, but the screen-shot a the right is from version 20.00.0.1056 which is the most current version at the time of this post. As you can see, it’s easy to have multiple files open and to transfer back and forth between them by simply clicking on the tabs with their names at the top. Also, the built-in file explorer makes it easy to find and open your target file. Again, referencing the screen-shot, you can see that UltraEdit has built-in code highlighting, which can be turned off if it becomes distracting. Frankly, that was one of the features I first came to love about this program, along with the spell check. But, what really sold me was the “search and replace” function, which lets me easily replace line breaks with tabs or other characters. That may not seem like a big deal, but when you’re dealing with a lot of raw text which needs to be manipulated in particular ways for input to other programs, or to fix output from some programs, that feature becomes invaluable. Along with that is “Column Mode”, which will let you treat large sections of text more like columns in a spreadsheet than just raw text. Believe me, that alone has saved me an enormous amount of time when I have to reformat text taken from a web page that has no export function! Add to that the super simple sorting functions that include the ability to remove duplicates in a huge list and the really flexible macro system and you have a system administrators new best friend!
Of course, as I mentioned already, I also use UltraEdit to work with all the code I have to manipulate.
My “day job” doesn’t require that I code anything, thankfully, but for my own interests, I often find that I’m creating or editing a lot of different kinds of code. I play with everything from Perl to PHP to HTML to CSS (which is what’s in that screen-shot above). The fact that UltraEdit automatically adjusts the code highlighting as I switch between the different files by default has been super convenient and, at times, really helpful. Most of the time, I’m updating or fixing someone else’s code for my own purposes and trying to remember where the closing tag in an HTML or PHP document that I didn’t create is can be daunting. Code highlighting has really helped that.
That’s also where the built-in macro functions have been a big help. I can record one, small action and repeat it as many times as I need to throughout a file with just a few keystrokes. That can come in really handy when duplicating lists of variables, for instance, or converting a list of text elements into an array. I can just insert the code which defines the element as part of the array in front of each bit of text in a matter of seconds. Again, a huge time-saver.
Currently, this very useful utility is $80 for a new license or $40 for an upgrade, which is what I got. I think an old employer actually paid for the original copy that I upgraded. Either way, though, the price was worth it to me! If Perl is the duct tape of the internet, then this is my utility knife!
UPDATE: Somehow I missed telling you all about one of the coolest features of UltraEdit – additional syntax highlighting files. IDM has an incredible list of additional code/syntax highlighting files that you can download for free here. My favorite? The Cisco IOS code page that makes the huge ASA5500 configuration files I’ve been looking at for my latest gig easier to read (i.e. “actually comprehensible”)! The instructions for adding them are on that page, too.