As a programmer, I have found that I need two things.
- An IDE (Integrated Development Environment)
- A Text Editor
When I am working on a project, I need all the power of a full IDE. I have never bothered to memorize which classes have length and which ones have count. Instead, I type the object name and expect my IDE to tell me instead. For this and a thousand other reasons, IDEs are the best choice when making significant changes to a project.
However, I find that I don't spend all my time making significant changes to projects. A lot of times, particularly in large projects, I find that what I really need is a text editor. Now a text editor is a blessing in the kind of situations where you don't need to make significant changes and you are going through a lot of files where the files are might not be related through one project.
It really is a very annoying feeling when you need to edit something and you start up an IDE(my favorite is Visual Studios) and it takes its sweet time starting up. Once it has started, opening another project because you find that the file that you want is somewhere else takes almost as long.
Now this is understandable and by design. The purpose of an IDE is to know the context of a file (meaning a project) so that things like intellisense(where the IDE already knows what kind of object you are referring to) are possible. However, when you don't need that kind of power, or when it isn't really useful or possible, then text editors are awesome.
After years of searching, I have found sublime text to be the ultimate winner. Here are a few thing I find text editors need to be able to do in order for them to be useful to me, and how Sublime does it
- Be FAST
Now it needs to be fast because that is the primary reason I am not using an IDE. If a text editor isn't fast, then I might as well use an IDE and be done with it.
With sublime text, I have never been kept waiting. It is fast, and fast all the time.
- Speedy Search
For the scenarios that I use text editors for, searching is usually 50% of the task.
Sublime does that, and does that really well. From anywhere, you can use keyboard shortcuts to fire up the unobtrusive search box, which will show you your results in the background, but if your press Esc before you confirm, you get taken back to where you were when you started the search (!Awesomeness!). You can use various keyboard shortcuts to make more specific kinds of searches, including searching the Sublime menu. You can also search for Symbols and definitions, which is super useful as well.
- Quick Switching between files
Now quick here doesn't only refer to quickness of the editor when I click on a file and it switches me to the file. I am talking about when I think of a file, how much do I need to do to see the file in front of me.
With Sublime Text, you can use the search functionality to switch to a file that you have either open or in your current sublime project (which sounds like an IDE but is actually extremely lightweight). You don't even need to type in the full file name since sublime will show you all the files that match your search (Sublime responds well to regular expressions).
- Easy Split view configurations
Sometimes, actually a lot of times, you need to view the text of two files side by side. Or maybe even three files. For such times as this, a text editor that makes this easy definitely has an advantage. While it isn't as important to do have this property as the other two, its pretty nice have anyways
- Looks Good
As with any tool, aesthetics is very important. How a tool looks motivates and inspires. This is not a central requirement and given two tools where one works better but looks uglier, I will choose substance over looks.
With sublime text, you don't have to choose. It looks amazing. With its clean and clutter free look, where you can even eliminate the menu bar, there is no other text editor that comes even close. Comparing it with Notepad++ (which is an awesome editor as well), you can see whose winning in the looks department.
Sublime text has a ton of other features, the most popular of which is the plugin system. However, I don't really use that too much so I can't really comment on those. Overall, Sublime text is really one of the best, if not the very best text editors out there and it is a real pleasure to use.