ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

News and Reviews > Mini-Reviews by Members

Mini-Review of GNU Emacs

(1/5) > >>

Tuxman:
Basic Info

App NameGNU EmacsApp URLhttp://www.gnu.org/software/emacs/App Version Reviewed24.3 (precompiled Windows version)Supported OSesAny, I'd assume. OK, they recently dropped support for a couple of historic DOS and UNIX versions.Support MethodsThe gnu.emacs.* mailing lists are probably preferred.Upgrade PolicyFree as in free speech and in free beer.Pricing SchemeSame (unless you get Emacs with a proprietary UNIX system).Screencast Video URLhttp://www.youtube.com/results?search_query=emacs&oq=emacs

Mini-Review of GNU Emacs

Intro:

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.

Mini-Review of GNU Emacs

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

Try it. ;D

superboyac:
You know, you mention a good point...the indenting and highlighting in emacs is still probably the best i've experienced in maybe over 10 years now.  every time i see a new text or code editor that does it, my mind compares it to emacs.

Tuxman:
That's one of the major "cons" of Sublime Text whose highlighting (and indentation) rules are rather FUBAR. Once you've stumbled upon Emacs, you'll notice what has been missing...

ewemoa:
Below is a stream-of-unconsciouness enumeration of some GNU Emacs thoughts...

Been a fairly happy user of anything.el / helm - though about all I use it for is selecting files to open.  That and dabbrev-expand (M-/) are what I obviously miss the most when not using GNU Emacs.

My unsophisticated git needs are mostly covered by magit.

Am appreciating the mentioned package management system (ELPA) though I've only been aware of the installing and uninstalling portions.

I continue to use and appreciate M-x shell -- M-/ gets some good use here.

Often find myself using keyboard macros to make repetitive changes to buffer content -- they also come in handy for renaming files and directories using dired.

I didn't understand the allure of Org mode until recently, but now I have an inkling of some of its potential.

I often find myself creating new frames and splitting windows when trying to follow a code path.  Being able to view more than one location of a file simultaneously has really been nice -- I see this feature only occasionally elsewhere and wish for it when I fail to find it.

Darker background colors seem to hurt my eyes less so I try to use appropriate themes -- there appears to be a bundle system now, and I tried my hand at modiyfing an existing theme by following this.

Regarding configuration, I'm not a fan of customize, but I appreciate that it can help in the discovery process.  I try to keep my settings simple and tend to start over when I set up new machines instead of carrying around something that grows over the years.  I find it quite nice to be able to express certain configurations using Emacs Lisp but I can appreciate not wanting to.

I don't currently and have repeatedly not succeeded in living inside of GNU Emacs -- I also use Vim.

Aside from the official documentation, I have found the following handy at times:


* EmacsWiki
* Hack Emacs video tutorials

Tuxman:
I try to keep my settings simple and tend to start over when I set up new machines instead of carrying around something that grows over the years. -ewemoa (September 19, 2013, 05:50 PM)
--- End quote ---

Have you tried keeping it simple "over the years"?  :)
Mine is near completion, I guess.

Navigation

[0] Message Index

[#] Next page

Go to full version