I have been using TextMate from MacroMates for the past couple years for Ruby and Rails development on the Mac, and very happy with it. I occasionally do Ruby work on Windows and have settled on E Text Editor, which is basically a clone of TextMate, including its bundling capabilities. The features of both of these text editors has been beyond my needs and offer some really nice, simple features.
There has been a bit of a holy war going on lately on the internet about developers moving away from TextMate and using Vim or Emacs. Granted, there is no TextMate for Linux but you can have your open-source operating system and text editor too. Don?t most Rails developers use TextMate anyway?
I decided to give some other editors a try on Linux, in search of one that would work on Mac, Windows and Linux. The only real options are Vim and Emacs, both having support for Ruby and Rails.
Vim
Vim has rail.vim. This gives Vim some shortcuts to the usual Rails command for creating such things as models, views and controllers. I set this up and gave it try but in the end, it is still Vim. I am sorry to those folks who love Vim but all that I can say is Vim sucks. Why would anyone want to subject themselves to using this editor. I used vi, the precursor to vim back in the mid-80?s and it was almost the only thing we had on old Sperry systems. It was not a pleasure then and it is not a pleasure now.
Emacs
Emacs has emacs-rails. This is an improvement over Vim but not by a ton. It also sucks but it sucks less. I think I could get used to this editor if I needed to but hopefully I will never have to do such a thing.
TextMate
TextMate has a ton of built-in bundles for many different languages and has the Mac UI we all have come to admire. It really works well for doing Ruby development with nice shortcuts built in through bundles. Dr. Nic Williams has created an updated Rails bundle to help out with Rails 2.0 changes supported under both TextMate and E-TextEditor.
Twitter developer Alex Payne recently examined alternative editors as I did and came to the same conclusion as I have. I guess this pretty much seals my fate for at least the near to mid-term as how I will be writing Ruby code, either on the Mac or Windows.
So I wonder why folks would even consider moving from TextMate to Vim or Emacs for Rails development. What am I missing? I can?t see how you could possibly be any more productive.
There is a report of version 2 of TextMate coming but we don?t know how far off it might be but for now, it works just fine and no need to look elsewhere.
So the reasons I use TextMate are pretty simple really:
- Great plug-in support, like ProjectPlus.
- Great bundle support
- Great theme support
- Great community support
- Tons of little niceties
- Almost made for Rails development with the Dr. Nic bundle and the way projects get loaded from the command line.
It made no sense to me personally why I would step back in time and use an editor such as vim or emacs when I didn?t HAVE to.
Emacs and Vim are two editors that you won’t really appreciate until you’ve actually used them for a few weeks.
I used Textmate for a few years, but I’ve gone back to emacs. No split window support in Textmate is pretty much a show stopper for me, but the list doesn’t stop there. The only thing Textmate has on Emacs or Vim is that it looks "pretty".
This wasn’t always the case though. I do give Textmate full props on "kicking everybody’s ass" in the sense that the snippets concept seems to have really taken off in a lot of editors/IDEs. Unfortunately, everybody else has caught up to Textmate, and in many ways surpassed it.
The reality is that most people don’t use most of the features of their editor or IDE. These people won’t see the advantages of Emacs or Vim, and quite frankly most people don’t even use Textmate properly (there are screencasts out there to prove this)
Is the learning curve in Emacs/Vim huge? NO DOUBT! But you gain a lifetime of productivity since these editors have been around since the 70’s and they will be around long after Textmate is gone.
A year ago we had a podcast episode about the various editors and funny that it’s still relevant since Textmate 2 still hasn’t been released yet.
http://www.basementcoders.com/…/episode-3-ides-
At the end of the day use whatever you think you’re productive in, but you can’t count out Emacs or Vim unless you’ve really dug into it.
Emacs and Vim are two editors that you won’t really appreciate until you’ve actually used them for a few weeks.
I used Textmate for a few years, but I’ve gone back to emacs. No split window support in Textmate is pretty much a show stopper for me, but the list doesn’t stop there. The only thing Textmate has on Emacs or Vim is that it looks "pretty".
This wasn’t always the case though. I do give Textmate full props on "kicking everybody’s ass" in the sense that the snippets concept seems to have really taken off in a lot of editors/IDEs. Unfortunately, everybody else has caught up to Textmate, and in many ways surpassed it.
The reality is that most people don’t use most of the features of their editor or IDE. These people won’t see the advantages of Emacs or Vim, and quite frankly most people don’t even use Textmate properly (there are screencasts out there to prove this)
Is the learning curve in Emacs/Vim huge? NO DOUBT! But you gain a lifetime of productivity since these editors have been around since the 70’s and they will be around long after Textmate is gone.
A year ago we had a podcast episode about the various editors and funny that it’s still relevant since Textmate 2 still hasn’t been released yet.
http://www.basementcoders.com/…/episode-3-ides-
At the end of the day use whatever you think you’re productive in, but you can’t count out Emacs or Vim unless you’ve really dug into it.
@marc Thanks for comment and great feedback. I think you are right in your points, people don’t use their editor anywhere near its potential and not giving something like Emacs or Vim a fair shake is not reasonable.
The problem I face and probably many other people, we just want to be efficient right upfront and not face a huge learning curve. I don’t know the return on investment is worth the loss productivity right away.
Granted TextMate 2 is still not out, but you know the current version does exactly what I need right now.
I may give Emacs a shot on my Dell Mini running Linux but with the Mac being my primary dev system with TextMate, I think it will be hard to bear.
Thanks again, great feedback.
@marc Thanks for comment and great feedback. I think you are right in your points, people don’t use their editor anywhere near its potential and not giving something like Emacs or Vim a fair shake is not reasonable.
The problem I face and probably many other people, we just want to be efficient right upfront and not face a huge learning curve. I don’t know the return on investment is worth the loss productivity right away.
Granted TextMate 2 is still not out, but you know the current version does exactly what I need right now.
I may give Emacs a shot on my Dell Mini running Linux but with the Mac being my primary dev system with TextMate, I think it will be hard to bear.
Thanks again, great feedback.
I used vim for years, but when I got a Mac and started doing Rails development, I kinda just went with the flow, and switched to TextMate.
About a year into it, I realized how powerful a programming editor could be. But, I also missed some of the powerful text manipulations (ie being able to cut, copy, or paste arbitrary number of characters, words, lines, etc).
Then about the time that a lot of people started talking about switching to vim or emacs, I gave vim another try. Knowing what pieces I liked from TextMate, it was possible to achieve similar or better functionality.
Really though, it really doesn’t matter what you use, as long your able to productive. It is pretty sweet that people are talking about their text editors. A little feature-envy of one editor might inspire improvements in others.
I used vim for years, but when I got a Mac and started doing Rails development, I kinda just went with the flow, and switched to TextMate.
About a year into it, I realized how powerful a programming editor could be. But, I also missed some of the powerful text manipulations (ie being able to cut, copy, or paste arbitrary number of characters, words, lines, etc).
Then about the time that a lot of people started talking about switching to vim or emacs, I gave vim another try. Knowing what pieces I liked from TextMate, it was possible to achieve similar or better functionality.
Really though, it really doesn’t matter what you use, as long your able to productive. It is pretty sweet that people are talking about their text editors. A little feature-envy of one editor might inspire improvements in others.
@josh – I wonder why people move to different editors sometimes. It almost seems like sheep following the crowd. On the Mac, it seems TextMate is the smoothest, where Visual Studio on Windows. I probably have not given Vi or Emacs a fair shake but they seem antiquated with their little add-ons for Rails (for example) to be hack jobs to paste over an antiquated editor.
Maybe a lightbulb will go on for me someday with either Vi or Emacs but I doubt it, probably only if I am forced to do so.
@josh – I wonder why people move to different editors sometimes. It almost seems like sheep following the crowd. On the Mac, it seems TextMate is the smoothest, where Visual Studio on Windows. I probably have not given Vi or Emacs a fair shake but they seem antiquated with their little add-ons for Rails (for example) to be hack jobs to paste over an antiquated editor.
Maybe a lightbulb will go on for me someday with either Vi or Emacs but I doubt it, probably only if I am forced to do so.
One reason I’ve moved from textmate to emacs on some projects even on mac:
On projects with alot of files loaded over a network share it hangs for hours every time you regain focus.
I know there’s a plugin that tries to solve this but it sucks.
One reason I’ve moved from textmate to emacs on some projects even on mac:
On projects with alot of files loaded over a network share it hangs for hours every time you regain focus.
I know there’s a plugin that tries to solve this but it sucks.
Could the TextMate lovers please be specific regarding what it is about TextMate that they prefer over vim (other than TextMate’s eye-candy and gentle learning curve) ?
Could the TextMate lovers please be specific regarding what it is about TextMate that they prefer over vim (other than TextMate’s eye-candy and gentle learning curve) ?