|App Name||GNU Emacs|
|App Version Reviewed||24.3 (precompiled Windows version)|
|Supported OSes||Any, I'd assume. OK, they recently dropped support for a couple of historic DOS and UNIX versions.|
|Support Methods||The gnu.emacs.* mailing lists are probably preferred.|
|Upgrade Policy||Free as in free speech and in free beer.|
|Pricing Scheme||Same (unless you get Emacs with a proprietary UNIX system).|
|Screencast Video URL||http://www.youtube.com/re..._query=emacs&oq=emacs|
I have been a pretty happy Sublime Text
user since ST2 was in its alpha state. I even bought a license, and that's something I don't do quite often. Now Sublime Text 2 development was stopped in favor of Sublime Text 3 which brings no changes I would be interested in. So, in order to get only bugfixes, I would have to buy a new license for too much money. I'm a poor man.
I tried a couple of alternatives. The one big ST feature I was looking for was "GoTo Anything", missing in all other editors except, well, Vim and Emacs (where it was easily imitatable). I took the chance to spend some time learning Emacs. Coming from Vim (which was replaced by ST2 on my Windows), I always like new challenges.
The history of Emacs dates back to the 1970s. While several Emacsen popped up and disappeared through the years (Linus Torvalds is known to use µemacs), only a few of them have stayed. GNU Emacs
is the standard
by now, having inspired a couple of other applications (even Mac OS X's keybindings are taken from this Emacs).Who is this app designed for:
In contrary to pure text editors like Vim (which can be extended to full-featured IDEs too), Emacs can do anything
. It comes with a quite good Usenet and Mail client ("gnus") which was the initial reason to install Emacs on my machine (yes, it is
really good), you can browse the web with it, you can use the IRC and Twitter from it, you can blog from it
. Emacs is designed to live in it
; you should never have to leave it during your work day.
Admittedly, most users don't need these features, they just want a good coding editor. Now guess what Emacs can be!The Good
I already mentioned the extras, so let me just list a very few of the good parts of the editor component here:
1. The scratch buffer.
Some kind of a "notepad". Close the application and its contents are gone; great for quick notes (like this review) though. Supports syntax highlighting.
2. Perfect highlighting and indentation.
Emacs has the most sophisticated syntax highlighting and code indentation mechanisms I have ever seen. Reindentation of a copy&pasted code file is only one command away.
3. Package management.
Starting from Emacs 24, you'll get a good package manager as part of the Emacs core. New packages can even be installed automatically, updates are also taken care of. (See the "Needs improvement" section for examples.)
4. Flexible configuration.
OK, Emacs needs Emacs Lisp code for configuration. On the other hand, Sublime Text needs JSON. I'm not sure what's worse. Seriously, there are a lot of preconfigured
Emacsen on the web, and while I would not recommend anyone to completely apply third persons' configurations without chacking them manually, a couple of more-or-less well documented configuration files should be enough to learn it "by doing". Here's mine
(automatically installing all missing packages; read the file carefully).
5. The client/server model.
Start an Emacs server (Alt+X server-start
) on your server or wherever, log into it with any Emacs client from anywhere. Neat!... and more ...
Edit files directly on a server of your choice. Choose between Notepad (cua-mode
), Vim (evil-mode
, requires an extra package) and Emacs keybindings. Run your shell from within your editor window. Install emacs-eclim
to integrate Eclipse with Emacs (if you feel like using Java for anything) Grow a giant beard. Never leave the house again. (OK, that's a joke. Don't grow a giant beard please.)The needs improvement section
1. Emacs does not come with PHP support. This has (weird) copyright reasons. You'll have to obtain it by typing Alt+x package-install php-mode
2. Emacs has a weird keybinding. This has historical reasons. You'll have to enable the CUA ("Notepad") or Evil (Vim) mode to change this. Or add your own bindings for everything. Good luck.
3. Emacs does not support PCRE regular expressions. Unlike Vim, there are not even "Perl-enabled" Emacs builds. You'll have to use "PCRE to Emacs Lisp RE" converters or external applications (like sed) if you feel like using them.
4. Emacs - OK, Aquamacs (on Mac OS X) does - has no shiny, blinking GUI (although the helm-mode
which I use to simulate "GoTo Anything" comes near).Why I think you should use this product
If you need an advanced code editor which will probably survive you without requiring you to ever pay for any update, this is yours. Grab it while it's hot. (Seriously, many people switch to Emacs these days.)How does it compare to similar apps
If I'll ever find an editor which is similar to Emacs... no, this won't happen. (Now don't mention Vim. Vim is a text editor, Emacs is a runtime environment. Hey, you can run Vim inside a shell inside Emacs...)Conclusions