I've written my own editor too. Would you like to see my .emacs file?
All kiding aside, the most important thing about an editor is an ability to customize it, whether it be via Emacs Lisp, Vim Script, or some other means. No software developer or plugin writer is going to be able to anticipate your needs, instead give yourself the ability to fulfil them.
For example, just recently I wrote up a quick Emacs Lisp function to allow me to toggle between header files and source files for C/C++. I'll add a recursive search (to account for more complex project layouts with /inc and /src) after exams.
For those that think learning to customize an editor takes too long, learning to program takes even longer. You'll learn how to make your editor do anything you want longer before you become an excellent programmer. Textmate and textmate like editors are great shortcuts, but probably crutches in the long run. That being said, Textmate does anticipates the average programmer's needs suprisignly well out of the box, so in that sense it fills a niche.
I think one can compare customization against wizards in Studio or scaffolding in Rails.
Sure, it's an easy way to get started with whatever: MFC apps, Rails apps, or text editing. But when you outgrow hello world application, you'd want much more power.
I used Emacs on and off for maybe four years but never customized it. I finally gathered up some attention month or so ago, got through tutorials and now I'm editing everything in Emacs (and this comment too). There is just a lot of accidental complexity in my brain, which can and is successfully automated by Emacs.
If you are a programmer, you should be pissed off and outraged by anything that doesn't allow you to automate itself. After all, automation is what we all do -- to get away from all the boring stuff and concentrate on things that are really fun. Like sex. Or running.
That's why I don't like GUI: remembering key chords is a way of automating tasks through memorization, and clicking on buttons requires much more cognition and interaction with the screen.
And that my friends, is what really grinds my gears.
I don't get why people are building these fancy new editors - You can get both Emacs and Vim to behave Textmate like in many ways. They are both usable everywhere, including in a terminal.
No matter which editor you want to use, you have to learn it and it takes time. A few years back I decided between Emacs and Textmate and learned Emacs - the main reason was because I can still use it when I am forced into a terminal or Windows.
But isn't writing a text editor one of those garden path problems - a near never ending amount of work to get to just what exists already? I guess I also wonder what inspires developers to start new text editor projects too! Perhaps its just dis-satisfaction with what is there already.
There's a reason you have to be convinced to learn emacs or vi, the user experience is horrible until after you've finished climbing a learning cliff. They work differently than just about every other text editor in the world because they're so old that they don't by default use modern hotkeys people are accustomed to.
Any debate about them being better really misses the point, it's the dvorak querty argument all over. Better doesn't matter as much as familiar to new users. Textmate is immediately useful to a new user and feels like a modern editor. Emacs and vi look and feel archaic and require too much effort to feel productive in.
That's my two cents anyway after many attempts to use both. Can't stand vi, can get by with emacs just don't really dig it. For quick editing in a shell I just use nano because it's usually just editing of config files.
Hate to tell you, but virtually no one does use Lisp. It's not ad hominem, it's just the facts; I'm not saying it's right or that's how things should be judged, just that they are.
Hate to tell you, but virtually no one does use Lisp. It's not ad hominem, it's just the facts; I'm not saying it's right or that's how things should be judged, just that they are.
Not everyone is a huge fan of re-learning how to type. Cause that's really how your doing it, with all the chording and such. Some of us are just used to typing in a box and hitting file->save to save.
People create new editors cause there is a need to fill.
But vi (and likely emacs as well) has terrible discoverability. I can modify my gedit or eTextEditor syntax highlighting easily. You could spend an hour learning how to do the same in vi. Hell, to even find 'colorscheme' you'd have to wonder round vimtutor for ages.
You're right. But it isn't hard to learn with a deliberate effort to do so. You have to treat it like learning a new programming language. When you do that, and read a book on it ( i like http://www.amazon.com/Learning-Editor-Nutshell-Linda-Lamb/dp... ) then it comes together and you start to really feel like a maestro.
This was my biggest beef with Vim when I started using it. gVim just doesn't have the ease of configurability as Textmate either. Syntax definitions and highlighting in Textmate is also easier. Aside from that, I'm happy in Vim-land.
As a follower of Emacs (I'm having a golden GNU built as an idol for the office), I have to say a good part of the problem is knowing where to go for docs. There's still a good bit of oral history to these editors, even if a lot of that is available online.
The last emacs book was published quite some time ago, and no matter how much of it is still valid, it's just not up to par with providing people with the same level of familiarity and desired features as one of the new ones. At work, we're all using gvim or emacs, but most are aching for eclipse or visual studio.
I try to mention ctags to them and they just stare at me blankly. I suspect the field has started to move rather quickly in the UI and lingual diversity fronts, and it's time editors need to diversify as well.
Still, lisp (or the bastard stepchild, emacs lisp) is a very good language for an editor. It's a shame it's the only place I use it.
No the problem is needing docs. Emacs is software out of a different age of computing where it was not considered a dick move to make people read documentation for changing the color scheme. These times are over but people who got used to it or have acquired mastery of the editor obviously do not feel the pain in that.
I used emacs for 10 years and know lisp quite well but I'm a textmate user now. There are a lot of us.
I tried JEdit like two years ago or so and found it to be an excellent editor, but that the startup time of approx. 10 seconds was unbearable. Have they fixed that yet?
For people stuck on windows who would like to try a TextMate-like editor, check out http://intype.info (still in alpha at the moment, but quite usable).
I'm a big fan of textmate, probably my favorite utility on the mac. While things like this and e editor(windows) help, there is still a ton of nice apps only on the mac. As for the Vi and Emacs people, I rather not spend weeks customizing my text editor, I just want something that can color code out of the box and I can get work done.
What won me over to TextMate was the syntax mechanism: it's specifically geared towards situations where you're mixing more than one language in a single file (common in web development). Does this editor have that (couldn't figure it out from the link)?
All kiding aside, the most important thing about an editor is an ability to customize it, whether it be via Emacs Lisp, Vim Script, or some other means. No software developer or plugin writer is going to be able to anticipate your needs, instead give yourself the ability to fulfil them.
For example, just recently I wrote up a quick Emacs Lisp function to allow me to toggle between header files and source files for C/C++. I'll add a recursive search (to account for more complex project layouts with /inc and /src) after exams.
http://paste.lisp.org/display/77348
For those that think learning to customize an editor takes too long, learning to program takes even longer. You'll learn how to make your editor do anything you want longer before you become an excellent programmer. Textmate and textmate like editors are great shortcuts, but probably crutches in the long run. That being said, Textmate does anticipates the average programmer's needs suprisignly well out of the box, so in that sense it fills a niche.