The Visual Studio built-in text editor is for obvious reasons where I spent most of my time. However, I also keep an assorted set of text files open in other editors, including code files. There are several reasons for this:
- Some of these files are in formats for which Visual Studio has no built-in syntax highliting. For example, I often need to go through DIFF files.
- I usually keep one or more "TODO" text files around with a list of things I'm working on.
- Sometimes, navigating through the files in VS is a pain (particularly when you are making changes across several files) and so keeping a reference file in a separate window is very useful.
- Visual Studio is a pretty heavyweight editor, so I try to avoid as much as possible to open multiple VS instances (and I still find myself with 3 instances opened more than I'd like to... sigh!). A lightweight editor that is loads fast is a must have tool for me.
I've used a lot of editors on this "lightweight editor" role over the past few years and there are a lot of choices out there, but even so, I haven't been fully satisfied with many of them.
For the past couple of years, I've been using Notepad2 (before that I used metapad). Even though development does not seem to be going forward, this is still a pretty nice editor. It's small, no installation required and it's a single .exe file, so it's easy to keep around on your USB flash drive, for example. It does support syntax highliting for a few common formats/languages and it's very usable.
That said, unfortunately, there's no easy way to keep and carry your settings around, which is a big downside for me as I develop mostly on virtual machines (which I often recreate as necessary) and need to be able to save and restore my settings easily. It also lacks a tabbed interface, which is not too big of a downside for the uses I give it, but it is a useful feature nonetheless.
Notepad++ could be seen in a way as Notepad2's big brother. It's based on the same edit component, so there's a lot in common between both editors. However, Notepad++ has a lot more features, including a nice tabbed interface, syntax highliting support for a far larger (and even extensible, I think) set of languages/formats, macros, plugins and what not. Even so, it's still fairly lightweight and loads pretty fast.
That said, I find the default configuration in Notepad++ to be pretty sucky (particularly the choice of fonts/colors for syntax highlighting) and there's quite a bit to configure and keep around. In particular, configuring the style features with your own custom theme seems like too much work too me (as there are a bunch of per-language options to configure).
Yep, GVim. I've never been a big vim user, though I used it quite a bit 6 or 7 years ago. I probably don't use more than 0.002% of the capabilities of vim, but even so, it's an editor a keep coming back time and time again, and this is one of the occasions.
See, one of the things that prompted this post was that I've been looking for a replacement lightweight editor was my moving to a dark background on VS. I've been in love with a dark-background configuration since that moment (even though I've changed my exact configuration a number of times), because I do find it to be a lot easier on the eyes, and I find it to be more comfortable.
So, my big problem was that I kept other editors besides VS open, but switching between them was beginning to be a real problem: My eyes would get nicely relaxed when working in VS, but as soon as I switched to the other editor, it was like someone was stabbing me with an icepick in the eyes!
Now, to be fair, either of the two other editors allow you to configure the syntax highliting colors schemes. However, I already spend enough time trying to configure VS to look and act how I want it to spend some more time on the other editor, so I was kind of looking for something quick to get running. Unfortunately, while Notepad++ does have a way to export/import the syntax highliting (it's stored in the stylers.xml file in the installation directory), there's virtually no community around the product and so pretty much none has created (or shared) a custom style.
Vim, on the other hand, has a huge community around it and lots of color schemes to choose from. I was able to quickly locate a very nice scheme called "Moria", which is the one I'm using on the screenshot above.
Besides this, Vim really is a great editor and there's a lot to like about it. Sure, commands are more cryptic than going through a menu with your mouse, but it's pretty flexible, and, to be honest, running the mswin.vim script on startup configures a bunch of stuff to work in a fashion far more like you're used to in windows applications (like copy/paste, selecting text, and so on). Still, I don't plan to become a vim expert any day soon (nor do I want to; I already have my head filled with enough useless crap), but I have to admit that being back in Vim does feel good.
One thing worth pointing out here is that indeed Vim isn't as lightweight as either of the two other editors. Indeed, a complete Vim installation does take quite a few megabytes of disk space. However, Vim still starts pretty quickly and the editor itself is pretty snappy even with very large files. Another plus here is that I simply store my settings in a _vimrc file in the Vim directory, and now I can do simply copy my Vim tree to another machine and I'm all set up.
No thank you very much. I did enough Ctrl-This, Ctrl-That back in College. Emacs is extremely powerful, but using it can seriously cause my fingers to cramp :-)
There are quite a bit of other useful text editors out there, so I'm sure if you're looking for something specific you'll probably find it. Some worth mentioning are the commercial/shareware ones like EditPad, TextPad, UltraEdit, HippoEdit.
If anyone does has any other recommendations, post a comment, and I'll look it up. I'm certainly always looking for new useful tools for my toolbox :-)