A New Editor
In my last posts I mentioned that I was evaluating some editors.
Again. The basic problem is that I just cannot stand vims modal editing and
look & feel, even AquaMacs does not change this. Sadly I also cannot stand the
alternatives. Till now. I think I found an editor I really can live with. It
was suggested by some people I know but I did not get why they like it. Now
after using the new beta for some time I think I am converted.
First let us talk about features. Why did I even bother trying IDEs
like Eclipse when I actually do not like those bloated pieces of …
well, do not get me started. I prefer an editor. It is fast, I do not need to
create projects and other stuff, do not have to care about anything beside my
But I tried an IDE. I have seen this fancy features like showing all your
methods, listing files, jumping from file to file in your project,… They have
a great strategy – they show you all the shiny stuff and hide the fact that it
is still an IDE and just sucks.
So what features should my editor have to compete with an IDE?
- code completion
- easy jumping between files
- split view
- project view – showing all files in a folder
- syntax highlighting for everything I work with
- spell checking
- git / gist integration
- keyboard navigation
I still believe that I do not ask for too much. But sadly the only editor that
is actively developed and provides all those features was vim.
And maybe the most important point. I love beautiful things. I work much better
when I am surrounded and use stuff I enjoy using. Guess why I prefer Macs,…
I am not alone
Looking at all those emerging projects I am not the only one who wants all
those features and cares about stuff like split views. But those projects
are either really new and still in the first beta – and I have seen how dead
a great project can be even when in development. I am looking at you Intype.
– or they are not as actively developed as I prefer it. Textmate, anyone?
So it is possible that those editors will some day be a great alternative and
that I will pay 40€ for a piece of software I will only use for some months or
a year. Even if the other editors also cost some money. I make my living with
IT. And it is never wasted investing in stuff that makes your life easier,
provides productivity or just helps you getting the job done.
I admit that I use a mouse. Or a touchpad to be honest. I can remember
key bindings and I also use those but for some tasks I work faster when I just
move my hand away from the keyboard and click on stuff. Having a project
folder on a side of your project, browsing the structure, creating and deleting
folders and files just helps me a lot to work faster. I do not have to switch
to another window or command line I just do one or two clicks. So a project
drawer or filesystem explorer is essential. This does not mean that I do not
want to be able to navigate with my keyboard. More on this topic in a few
Code completion is tricky. Sometimes it saves you a lot of typing. And when it
is even able to show you a documentation about methods you are using you save
a lot of time browsing documentations or trying to figure out why your
arguments will not work. This is not a must have but a nice to have feature.
When you never used an editor that is capable of split views I suggest you
immediately download one. An easy example would be working on a homepage. I
have 2 windows open. A browser to preview my work and an editor with 2 views.
In one view I have my html file and in the other one my css file. Just
switching the view without the trouble of placing editors side by side helps
a lot keeping all those tags in the right order when working on your css files.
Command-T or from now on Command-P is awesome. You press the keys, start
typing and just have a list of files that contain what you just type. One
additional keystroke and you have the file open with your cursor at the
method you were looking for. Fast, efficient, a pleasure to work.
Since I switched to Zenbo I use my editor to write blog posts. I am
definitely not the best writer the world has ever seen. My grammar is not
as beautiful as it could be, sometimes I make stupid mistakes and have
to look up words in a dictionary. Spell checking is essential. I am working
on it but I think there will always be some words I have to
look up or need a correction since English is not my native language.
I use git for every project and every piece of code I write. But I always
were a bit skeptical using plugins that integrate it with my editor or IDE.
Currently it looks like the git plugin works fine and is a nice to have
feature. We will see how it works out.
You only know you want it when you try it
There are some features in my new editor I started using and enjoying in a
blink of an eye. I heard many rumors on Twitter and read some blog posts
how great those are but never thought that I would use them.
One of those features is “distraction free”. You basically tell you editor
that you want to see nothing beside him. A dark background and only one
text field to input your text or code. I would not use this feature to write
code but it is a pleasure to use it while writing blog posts. And I will
also give it a chance when I continue working on my first book.
There is an integrated package manager helping you to install plugins.
It is a nice feature to have an integrated search. I had no problem using
the script search on vim.org but if I can have a shortcut I will not
hesitate using it.
Having snippet and theme support that is actually easy to use and edit
is also really nice. No obscure paths to remember once a year you have to
add or edit something is nice.
I guess I will,…
For those of you who cannot guess it yet I am talking about Sublime Text.
I will continue using it for my current project which consists of some
webdesign and Django development. I will write some more posts and work on
Zenbo. If Sublime turns out to be what I want I am going to buy it.
But there are some alternatives I also consider if there are some problems.
There is Kod, Espresso, Tincta and Vico.
For my next project that is an iPhone application I will stick to XCode. It
is another workflow and another kind of project. Integrated interface builders
and stuff are also a pleasure. But this will be part of another post. If you
are looking for an editor I only have one suggestion: try them all and use
what fits your workflow and project best – do not trust people like me telling
you why it is great. Experience it first hand.