# My text editor: Sublime Text

Published: 2012-07-07

Author: Emil Stenström

What text editor you use when coding is a very serious subject. I'll hardly be able to talk about what I prefer, without some people (other than you, of course ;) taking it as me trying to steal their editor from them. I'm not going to. I'm just going to tell you what I think, and you can just decide of you agree or not. My hope is that it helps you be more certain about your own choice of editor.

What I look for in a text editor:

  1. **Support both Mac and PC**. I use a Mac for work, and a PC at home, and I want to be able to use the editor skills I've learned at work for my hobby projects, and vice versa.
  2. **Less than 3 seconds starting time**. Big projects means lots of little files to open. So while programming I will open files and close files all the time. Each delay waiting for the editor to open, or a file to load, means hundreds of seconds over time.
  3. **Syntax highlighting for web languages**. I work with web stuff, both front end and back end, and I need colors to be able to scan files quickly. I don't really care about the exact ones, light or dark, I just want it to look decent. What "web languages"? HTML, CSS, Javascript, JSON, Python (Django), Ruby (Rails), PHP, SQL.
  4. **Handle big files** **(< 1 Gb)**. From time to time I work with big files. Can be database dumps or large text files. I'm not expecting < 3 sec to open them, but at least < 15 sec, and then be able to work with the file without the editor lagging.
  5. **Some kind of file browsing/project support**. There's never just one file and there's needs to be a way to overview all the files in a certain directory structure, and pick from them. I'd like there both to be file searching support and a way to click to a file through the directory structure.
  6. **Code auto-completion for web languages**. Do I use font-variant, font-style, or font-decoration to set italic? I want my editor to show me a list of options, and let me pick. This is harder to do well for the dynamic server-side languages, but I still want it.
  7. **Look good**. I don't want something that looks like the terminal, and want something beautiful. For me this means gradients, nice rounded tabs to click on, a nice font, a color scheme that matches.

With that list of priorities in mind, let's look at a couple of popular editors:

  * Editors that are not available both for Mac and PC: **Textmate**, **Coda,** **Notepad++**, and **Visual Studio**.
  * Editors that are slow: **XCode, Eclipse**, **NetBeans**, **Dreamweaver**, and most other editors built with Java.
  * Editors that don't handle syntax highlighting and code completion: **Notepad**, **Wordpad**.
  * Editors that don't handle big files well: **Komodo Edit** (what I used til recently).
  * Editors that look like shit: **Emacs**, **Vim**.

And then there's [**Sublime Text**](http://www.sublimetext.com/). Which does all of the above, perfectly. You should try it.