CSS-Plus
CSS-Plus
Play with web technologies

My Journey to the Perfect Text-Editor

February 20, 2012
Attention: This article is old and the content is outdated. I've left the article here for historical purposes.

This article is about why I feel SublimeText 2 is the best text editor ever and how/why I ended up using it. I've decided to write this because I seem to talk about this topic quite often and it would be easier for me to reference someone to an article rather than explaining my rationale over and over again.

Dreamweaver

I started using Dreamweaver's design mode when I began web-development. I didn't touch HTML. I started using some of the DW javascript functionality which I thought was quite powerful at the time ( this was literally all done without looking at HTML ), but I was getting frustrated with the tabular layout - It felt like I was fighting it more than working with it. Changing the width of tabular layouts isn't easy when you have multiple nested tables.

I started seeing all kinds of unbelievable tutorials and javascript plugins online. Things like dragging elements around as if they were windows in an operating system. I slowly started manipulating other people's code within the DW code view and eventually I was permanently using that view. I felt design mode was for newbies and tabular design was old-school and evil. It was at this time that I started following popular online blogs such as CSS-Tricks and David Walsh, etc.

Dreamweaver features that stood out for me:

  • I enjoyed the syntax highlighting colours
  • Wrap text in element functionality
  • tags closed automatically
  • Find/replace throughout open files

Note: It took Dreamweaver 30 seconds to load up so I could take the screenshot. Core2Quad 2.3ghz with 3gb of ram.

Notepad++

I eventually moved over to Notepad++. I enjoyed how quick it was - Lightning quick compared to the bulky Dreamweaver. However it didn't have most of the things I liked about Dreamweaver and it wasn't nearly as aesthetically pleasing with regards to icon layout, icons, colours in general and the syntax highlighting. I actually found - and still do find - the toolbar of icons ( including print, copy/cut/paste, find, etc) very insulting. Eventually I was using Notepad++ without turning back to Dreamweaver for anything, but still I didn't feel completely comfortable with it, something was missing.

Note: I probably didn't use this editor to it's full potential.

E-TextEditor

I began noticing how many people were talking about TextMate but I could not use it since it was/is a Mac specific application. After some googling I noticed there was a 'Windows' version of TextMate called 'E-TextEditor'.

I found the syntax highlighting very pleasing and it had almost everything I could want, including FTP built into the app - This felt much more simple to get going than the Dreamweaver FTP functionality. One thing it didn't have was 'Find/replace throughout open files'. This was something I had missed since Dreamweaver.

Without a doubt, this became my text-editor of choice.

GEdit

I was getting fed up with Windows for various reasons and I couldn't afford a Mac, so Linux ( Ubuntu ) was my next logical step. GEdit was/is the default text editor for Ubuntu and I was surprised that the default text editor that was so 'advaced' compared to other default OS text editors. This mainly included pleasing syntax highlighting and tabbed functionality. GEdit didn't have the 'Find/replace throughout open files' functionality and something about it didn't feel great when using it for larger projects. As far as features went, it didn't have too many that I was aware of. For small HTML/CSS/JS projects or tests it was perfect though.

Scite

By default Scite has ( or my default installation at the time ) the line numbers disabled. This is/was highly annoying and on top of that, it wouldn't 'remember' my option to keep line numbers enabled. Small things like this can really get to me - I want to feel completely at ease, comfortable and happy with my tools.

I didn't really like the icons and the general look and feel of the editor, however, it was definitely much more advanced and nicer to use than GEdit - with options like “Convert selection to lowercase” to regular expression searches. By this time I had decided Scite was the Linux text editor for me, however as much as I liked it I preferred E-TextEditor, but I had completely moved away from Windows - apart from my virtual machine with PhotoshopCS3 and IETester. It's difficult using a text editor when I would have switched it for E-TextEditor or TextMate in a heartbeat.

Coda

I began using a Mac at work and it had Coda pre-installed. I had heard almost as much about Coda as I had about TextMate, mainly from Chris Coyier and a co-worker/friend. I enjoyed Coda - It had extremely simple and intuitive FTP support and was very nice to use. Coda had random nuggets I hadn't seen in editors, like a wildcard character within searches. This could be achieved with regular expressions in other text editors, but the simple option was nice. The lack of functionality I was used to got to me. Coda was nice for larger PHP projects or smaller HTML projects.

TextMate

I was really eager to try out TextMate. I had heard so much about it and E-TextEditor was based on it.

TextMate was very different from other editors - especially since I was new to OSx. It was pretty much just a window of text. All the options could be accessed via keyboard-shortcuts or by the options panel. It took me a couple of minutes to get used to it but I really loved it.

Komodo Edit

As much as I liked TextMate, I could never get completely used to it because at the time I was working on 2 operating systems - OSx ( work ) and Ubuntu ( home/dev ). I was also sure I would end up using Windows for some or other reason in future due to work or somewhere else I was forced to. This meant that I would be using a different text editor on each operating system. This made me feel uncomfortable and I didn't want to learn to use something I'd end up not using. It felt like a waste of time investment. I definitely wanted to get used to an editor that worked across all platforms. I wanted a text editor I would use for the rest of my life.

My seeking continued until I had found KomodoEdit. It was great. It had a couple of things I wasn't ecstatic about, but the fact that it was cross platform made me forget about those quickly. KomodoEdit was definitely a very powerful text editor. I was referred to the application by a hardcore PHP backend friend and that made me feel good since I felt that I could grow with the editor if I needed to.

KomodoEdit is a light-weight and free version of KomodoIDE. I had found pretty much everything I had wanted.

  • Light-weight - Check
  • Multiple language support - Check
  • Plenty of options - Check
  • Powerful - Check
  • Cross-Platform compatible - Check
  • Aesthetically pleasing - No
  • Find/replace throughout open tabs - No

SublimeText 2

Finally I stumbled upon SublimeText 2. And it was good.

It had everything I could ever want and more, this went from Multi-select to distraction free mode. It had all the above checks, it was aesthetically pleasing and had an unbelievable find functionality. The Mac text editors ( TextMate and Coda ) look and feel far better to use than applications on other operating systems - It's like they're just made better. SublimeText2 has kept this feeling, even on different operating systems. The fact that text editors had to look ugly in Linux and Windows had been something I had wondered about on and off for a long time - Finally there was one editor that broke my perception.

I had never used a dark theme before but the default SublimeText2 was perfect. It had Chrome styled tabs, you could record macros, create your own snippets very easily and it had a visual map of document on the side of the editor ( this seemed like it could get old quickly, but I find it very useful in spotting patterns in larger documents).

The options worked differently compared to any other application I had used before. An options page was a text page in a sort of object/array layout. At first I thought this was temporary and it would be updated in a future version, but I finally realized how brilliant it was. You could search for options via the text editor. Search results appear in another default text-editor tab and it's all consistent. You don't ever leave tabs and text, brilliant.

The best part is, it's only a beta. That's right, until the time of this writing ST2 is a beta and it gets updated VERY often. New features, functionality and bug fixes come out with every update. ST2 has always been expensive for a text-editor, atleast $59 is expensive for one to me, but ST2 allows you to trial the software for as long as you'd like. On the site it says:

SublimeText may be downloaded and evaluated for free, however a license must be purchased for continued use.

The license comes with a bunch of perks, the most noticable includes a per-user license, not per-install or per-machine. This means you can use the registered version on whatever operating system and machine you're using. After running and using it on all operating systems I decided to purchase it and I would urge anyone who loves it half as much as I do to support the development.

On top of all of this, I've subsequently began to learn Ruby and it's got a Ruby build system installed - along with a bunch of other builds, including ant build. ST2 supports a vast amount of languages ( more than just syntax highlighting ), has plugin support and it supports Textmate snippets. The community is also pretty great.

As you may possibly know, I develop HTML, CSS, Javascript, PHP and Ruby. I've got friends who I've convinced to permanently use ST2 and they use languages ranging from Python to C++.

According to me, it is by far the best text-editor around.

tl;dr

SublimeText 2 is awesome.

Disclaimer

I don't own any of the icons used, they belong to the text-editor/operating system. I may have unfairly moved on from some of the text editors due to lack of specific functionality (or perceived lack of), aesthetics and cross-OS support. I may have been a bit unfair and some of you may disagree with me, but for me ST2 wins in every field. Also, if I've misrepresented any text-editor above, please correct me by with a comment.