Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It is a bad sign that such comment got so many upvotes.

Of course, it takes less time NOW to dig into TextMate, but VIm or Emacs changes your way of thinking. That's exactly why it makes sense to learn Lisp or C. Even if they're hardly usable in the current market, they make you a better programmer.



What does Emacs or Vim have over TextMate? My friend was a hardcore Vim user but ended up switching to TextMate because it has enough keyboard shortcuts to make him happpy, but also has a nice bundle system that adds a lot of snippets.


I used TextMate for three months or so -- wanted to see what the fuss was about -- before gratefully switching back to emacs.

TextMate is the only editor I've used since learning emacs that I would even consider using full-time. (Except for vim, of course. :) It's a great product, and if you're happy with it you should keep using it. I'm not at all sad that I bought it -- there are tasks, mostly involving close integration with other Mac apps, that I still use it for.

But...

TextMate's snippets and completion were great for a while. Of course, I later discovered that the reason emacs didn't have these features is that I hadn't known that they were called "abbrevs" and "dynamic abbrevs". There's extensive documentation in emacs itself and on the emacswiki. So now my emacs has snippets, and various kinds of autocompletion.

In emacs, if you don't have exactly the right keyboard shortcut, you fix it. Here's one pet peeve of mine: Steve Yegge's essays have taught me to use isearch-forward and isearch-backward for navigation in long documents. In TextMate the backward search is bound to Control-Shift-S, a key combo that's torture to type compared to Control-R, that I can't remember to save my life, and that AFAIK cannot be changed (and it's not as if I didn't try). In emacs, where any key combo can be swapped for any other key combo in seconds, and any search command you hate has four built-in alternatives, twelve downloadable alternatives, and all the source code available to be edited on the fly, crap like this need not bother you for long.

I've got my emacs rigged so that, when I type source code, I don't need to press Shift to get symbols out of the top row of keys instead of digits. I type a lot more symbols than digits, so I use Shift when I need to type a digit. If I find myself typing a lot of digits, I press Ctrl-0 to toggle back to the normal behavior. You can't do this kind of stuff in a closed-source text editor.

And, mark my words, that's still the big problem with TextMate. I'm not generally a zealot about free software, but a text editor is the kind of tool you will be using for thirty years. It pays to invest in one that you will choose to abandon, and not the other way around. I'm inclined to use emacs instead of TextMate for the same reason that I'm inclined to play bridge instead of Magic: The Gathering: it has lasted for decades, it will last for decades more, I don't need to own special hardware or pay for any upgrades, and the whole thing belongs to me...

Plus, you get folks like Steve Yegge, working in his spare time to make your editor better. 10% of that guy's time is worth a fortune, and there's more where he came from! The problem with a closed-source editor is that there's only one or two people who can fix or improve the core code.


> TextMate the backward search is bound to Control-Shift-S, a key combo that's torture to type compared to Control-R, that I can't remember to save my life, and that AFAIK cannot be changed…

It can be changed absolutely trivially. See http://macromates.com/textmate/manual/key_bindings and also http://blog.macromates.com/2005/key-bindings-for-switchers/

> I've got my emacs rigged so that, when I type source code, I don't need to press Shift to get symbols out of the top row of keys instead of digits.

This is very easy to accomplish in TextMate.

> Plus, you get folks like Steve Yegge, working in his spare time to make your editor better. 10% of that guy's time is worth a fortune, and there's more where he came from! The problem with a closed-source editor is that there's only one or two people who can fix or improve the core code.

The vast majority of TextMate’s functionality is in open-source bundles, which you or anyone else can freely edit, and which hundreds of people are constantly working to improve.


It can be changed absolutely trivially. See http://macromates.com/textmate/manual/key_bindings ...

Hooray! Many thanks. I knew that if I complained about this often enough...

Someone should fix that documentation. The key I want to change is mentioned directly beneath this sentence:

In addition TextMate has the following key bindings, which are not visible in the menus and cannot be found in the standard key binding files:

That sentence managed to discourage me before I actually reached the bottom of the file mentioned at the bottom of section 3... where, thanks to your assertion that there really is hope, I finally found what I was looking for.

This is very easy to accomplish in TextMate.

How should I approach this? Where's the TextMate equivalent of the Emacs Lisp handbook? I do know Ruby, if that will help.

Perhaps I should point out, in case it's not as obvious as it should be, that the big reason I went back to emacs is just that I've been using it for a decade and have managed to learn where a lot of things are kept in emacs.

And, yeah, like I said: TextMate is a great editor. And its feature set and approach is so similar to emacs that an emacs-Textmate flamewar is even more pointless than an emacs-vi flamewar. :)


> Hooray! Many thanks. I knew that if I complained about this often enough...

The place to complain is the TextMate IRC channel, where someone will be happy to straighten you out in real time. :-)

> How should I approach this?

Well the easiest way would be to just make a series of 20 macros which insert the symbols when you press the numbers, and vice versa. But you could also do it through cocoa key bindings or a keyboard layout, with more trouble.


abbrev's aren't quite as "powerful" as textmate's snippets. luckily, there are many elisp packages that provide this functionality, yasnippet is what I'm using.


> I've got my emacs rigged so that, when I type source code, I don't need to press Shift to get symbols out of the top row of keys instead of digits.

I'd love to see a method to do this in Vim from anyone.


I can see where you're coming from, and I can completely agree that TextMate could only be made better if it was open source, but it's quite good as is. To each their own, I guess.


FYI i believe it's not too hard to change keyboard shortcuts (or add them) for anything in a menu on a native mac app using the xcode interface builder (maybe it got renamed recently, can't remember).


keyboard macros, tramp, gdba mode, ESS (emacs speaks statistics), and far more.


It is a bad sign that such a comment go so many upvotes.

> Of course, it takes less time NOW to dig into TextMate, but VIm or Emacs changes your way of thinking.

That you think TextMate won’t change your way of thinking shows that you have not used it in any serious way. Several aspects of the TextMate approach, particularly its declarative language grammars and the use of css-like selectors for assigning commands, syntax highlighting, etc., are fundamentally more flexible and powerful than the pitiful equivalents in Emacs or Vim.

TextMate’s low floor, no ceiling approach has enabled some complete newcomers to create amazingly useful tools for themselves, which would have been all-but-impossible for them to create in Emacs or Vim. It slowly sucks users in, teaching them first to make simple macros, then to use regular expressions, then to write their own code, in a gradual process.

It takes less time to dig into because the software is better designed, not because it is less “thought-changing”, or because the digging can’t go as deep.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: