Code Editors or how to lock yourself
by J.H.
I tried every code editor out there, every IDE I could find. Six or seven years ago. I came to the conclusion that I do prefere simple editors to them, mostly because I prefer a sharp tool than a clumsy thing that tries to solve every problem. Oh sure, stuff like NetBeans or Eclipse perform really well on Java, but I don’t code with this language, so let’s skip directly to code editors.
I spent something like two years with Emacs, it was great since I really enjoy Lisp but I never really liked the way the you input the shortcuts, making you holding Ctrl every couple of seconds to do something. Moreover, the way you have to setup it, installing loads of libraries, byte-compiling everything to have something still going fast was fun, but those shitloads of stuff to install can drive you crazy when something goes wrong with your install.
Vim had been my favorite code-editor for most of the time, maybe like five years. It’s clearly an awesome piece of software and was convinced it would be my daily companion until something better come-out. Great plugins, blazing fast editing, tons of colorschemes (yeah I like changing those two or three times per week, mostly to visually break routine).
And two years ago I got a MacBook, switched from daily C++ development to Rails. Textmate always tickled me, and I finally gave it a try. I loved it. The feeling of having something modern, clean and simple, focusing on just what you need, providing new features like snippets, that cmd -T shortcut to jump to any file, it was just so cool.
But recently, things felt wrong. I’m using it daily for two years now and some details made me realize it’s going nowhere, which is the point in this blog post.
- No window splitting at all
- Scripting it with your favorite language basically means writing a script which will be called by your TM script
- You can crash it just by opening any log file
- Colorschemes are so damn cool nobody tries to create new ones !
But those are minor problems, except for the splitting issue which I really miss. The main problem is :
- Textmate 1 is abandoned.
We’re all waiting for Textmate 2 to came out. But it’s taking ages, and sincerely like its author said, it just another Duke Nukem Forever incarnation. I even doubt it will be released, maybe because if it’s not perfect, its author will be flamed to oblivion by everyone, encouraging him to continue until its perfect. Well, it may not be the case, but currently we have no clue of a potential release date.
To me, Textmate is like a modern vim (ok, it’s not open-source, it sucks, but I can accept that if the tool is really awesome, which is almost the case). No need to look at your keyboard and asking yourself why the fuck it’s ctrl-] to jump on a help subject, it’s just simple. Another cool one : moving around in Vim with jk keys is really nice, but as I still have to use arrows to browse in my cmd history, I can’t get my fingers escaping from those arrows. For sure another shortcut must exist to do that, there are many reasons to excuse this behavior, but it’s still not “great”, it’s just cool.
You’ll probably think by reading this that I’m an unsatisfied programmer who can’t find its editor (which is true) but the point isn’t exactly that. I found my editor of choice. I’m raging against it because :
- Even if they won tons of money while selling Textmate, there’s only one developer. Come on, it’s a code editor, it’s serious business.
- Communication around Textmate 2 is a nice example of worst practices.
- Its author is trapped in that Babylon tower thingy, if he don’t release it, he’ll be smashed by everyone (which is already the case)
- Its author have to release something great or everyone will flame him, write awful frustrated blog posts, Scotty will beam him up to pluto, …
- Learning an editor is an investment, we all know that, and feeling stuck because you can’t help its author to make it great, you can’t do anything at all ’cause its closed-source.
- It feels like I bet and lost.
I’m not blaming its author for its license choices, I’m okay with that, people have to eat, but that implies Macromates have duties too. A big one, update our fucking editor for god’s sake. Writing good stuff then disappearing is the best fucking way to frustrate everyone. Moreover, I’m stucked. Emacs or Vim don’t satisfy me anymore, 20 years old software rocks for stability, but there’s some evolutions we had since I’d like to have in my editor.
Conclusion, there must be a law against selling closed-source editors, I killed thousands of kittens with the troll potential of this blog post.

Comments
I wish there was another editor that let me select multi-line block of text and allow to type in all lines at once. This is incredible time-saver for HTML.
Alan screwed up big time with rewrite and Second System Syndrome.
You have a very good point when you say “I feel I bet and lost.”
Your teased into buying with a free upgrade to version 2 but v2 never comes.
I wish that I was into this Textmate thing, but I just don’t see the benefit of it at all for me to “convert” from one true religion. All this stuff about the arrow keys, it just sounds to me like a distraction. As every time I have to take the fingers off the home keys, I’m unnerved.
@kL I can’t agree more, I just hope Allan will release something, or open TM1.
@Pedro R. I was talking about betting on the fact TM will get maintained in the long term, which would allow me to keep it as my primary editor and not waste my time spent to learn it. Allan was very clear in his latests posts about TM2 not coming soon. But yeah, in older posts, it used to match to what you describe.
Try Aquamacs – it has all the advantages of Emacs and when you add textmate.el and yasnippets you’ll get all the stuff from Textmate. Easy win
I use jEdit on OSX and it’s fantastic. I use it to edit everything.
Admittedly, it’s quite plain out of the box. It takes some effort to customize properly but it’s well worth it.
Let me know if you want some tips.
If you like textmate you’ll love jEdit, the spiritual father of textmate, it has everything textmate is missing whilst staying simple. splitting, scripting, plugins, color schemes, heaps of stuff… and its fully cross platform so you can easily move your settings to linux/win/osx
@Lukasz I totally agree with you. Emacs is the world’s best and most extensible editor, and if you can add to it textmate’s look and feel, then I guess you get the best of both worlds.
Nevertheless, in my personal opinion, Emacs is still the best editor there is. It just works, makes you incredibly productive and saves you tons of time. The best editor there is, for sure. And you can customize all keyboard shortcuts, you don’t have to use Ctrl in the way you described it. Plus, it has window splitting for ages now! It’s a joke TM doesn’t support this…come on, you still think TM is better than Emacs? =)
My feelings exactly. TextMate is really showing its age but there is nothing good enough to replace it. I tried to like Espresso, but it’s still too unstable and HTML-centric for me to replace it as my code editor.
@kL If I understood you correctly, Emacs does this with string-rectangle (C-x r t)
@Miguel I like modal editing, I should have mentioned it, I also dislike TM way with cmd-* but, since there are no ^x^c sequence, it’s acceptable.
I used to love Emacs, I do think it’s awesome as Vim is. But it lacks something that Textmate has. It’s not “simple”.
This little advantage is what glue me to Textmate. Download your bundle, it works. The dependencies between emacs extensions scares me, to install ECB, you have to install Cedet … It’s not what you can call “pragmatic” heh
But replacing textmate is not the point here, I was trying to explain how I tried something, got hooked and got fucked because there is no updates or evolutions.
If you’re still going away from jk keys for your command history, you should look at changing your shell! I use zsh and because I use the vim keybindings I use jk in my shell command line to traverse the history. It’s pretty easy, and in fact zsh will change you to vim keybindings automatically if you set EDITOR=”vim”. Just hit escape to get out of insert mode.
I use zsh too, I never noticed you could use jk to move through history.
As my editor is always set on vim even if I use Textmate, I use A et I to move to the beginning or end in my shell.
Thanks, that’s a nice tip
Fairly new to regular Mac OS X use myself, I’ve found that MacVim works wonderfully for me most of the time and jEdit makes up for the rest. jEdit’s lack of real tabs make multi-file development painful, but its XML plugins are *fantastic* compared to any other editor I’ve found, except perhaps gEdit when customized like crazy.
@kL
jEdit, as suggested by Dennis and Zach, does the block-select-type-into-multiple-lines thing.
⌘-click and drag to select a block.
With some configuration and plugins like ProjectViewer, Tags (ctags), FastOpen etc, it becomes an editor hard to beat.
Colin, jEdit has ‘buffertabs’ if you want tabs. I dont like it personally, I use ’switch buffer’ its much easer to use to me to not switch to the mouse to change files.
Another vote for MacVim here. I like how it adds the standard OS X shortcuts (cmd w, cmd t, etc.) to the multitude of vim ones. It also does split screen, obviously.
kL: jEdit has that particular feature.
It seems to be out of favor with the cool kids, but BBEdit has a lot of the features you’re looking for in TM1. To go down your list:
- window splitting
- fully scriptable via applescript (and via Python and Ruby using appscript); it’s also *recordable*, which is very cool
- handles big files easily
- frequent updates and bug fixes
- professional-quality documentation
Another feature I like is allowing proportional fonts. (I realize most coders don’t care about that.)
Cons vs TM:
- more expensive
- the plugin ecology isn’t as well-developed as the one around TM bundles
- TM’s auto-refresh with a script-based filter is killer
Cons vs vim/emacs:
- not open source
Social comments and analytics for this post…
This post was mentioned on Twitter by ismaildonmez: Code Editors or how to lock yourself : J.H. Chabran – http://goo.gl/B7KP...
Agreed. Textmate was actually one of the reasons I switched from Linux to Mac, and I still use it every single day for the last 3 years (from Tiger to Snow Leopard). However, it’s such a pity to see it aging into smithereens with no foreseeable update any time soon. Shame.
@kL VIM does have block edit mode that allows you to type on all lines at once just like you describe.
I don’t believe anyone that says they used VIM as primary editor for 5 years and then switched to something else. That basically means they have not even scratched the surface of basic VIM usage, let alone mastery (and 5 years is enough to master VIM).
Once one does that, nothing can replace VIM, since a better editor has not been made yet.
@kL put this into your .emacs: http://gist.github.com/285326 and watch this to understand whats going on: http://www.vimeo.com/1168225?pg=embed&sec=1168225
Have you heard about Redcar:
http://redcareditor.com
It’s pretty advanced on becoming an Open Source Textmate…
The Zeus editor is a true programmer’s editor that is still going strong: http://www.zeusedit.com
Thank you for this news, I was searching something similar the past week.
Take a look at Sublime Text – it’s on Win (not Mac) so it may be of no use, but it’s spiritual parent is TM so it looks nice.
It has multiple panels (edit windows) and a python-based plugin architecture (with a few useful plugins)
It is in active development (once again by a single individual afaik).
Nevertheless, in my personal opinion, Emacs is still the best editor there is. It just works, makes you incredibly productive and saves you tons of time. The best editor there is, for sure. And you can customize all keyboard shortcuts, you don’t have to use Ctrl in the way you described it. Plus, it has window splitting for ages now! It’s a joke TM doesn’t support this…come on, you still think TM is better than Emacs? =)
+1