in reply to Getting into Emacs?

About learning Emacs

I recommend first of all using Ctrl-h t to do the Emacs tutorial. If you are still happy to carry on using Emacs after this initial experience, then I recommend you to buy a printed copy of the GNU Emacs Manual by Richard Stallman

Reading the whole of this book at the start of your Emacs learning process will save you much pain later on.

It's also much better than the O'Reilly book mentioned above.

What Emacs does for you

Emacs (I use cperl mode) can make writing source code much easier by doing things like indenting the lines of code automatically, or colouring in the key words and variable types. For example, see this blog post, which was created using Emacs's colourings for cperl mode with htmlize.el.

Emacs for other languages

Emacs has patchy coverage for languages. Coverage for Emacs Lisp and C is excellent, but it doesn't come with a JavaScript mode, although there are ones that can be installed. The default CSS mode in Emacs is pretty strange, but it is possible to set it up better. Emacs' HTML mode seems OK to me, but I don't know anything about MySQL (it has an SQL mode but I don't know anything about it), Python, or PHP. As for mixed languages in the same file, as far as I know Emacs doesn't do that at all well. You have to switch between modes in different parts of the file.

Replies are listed 'Best First'.
Re^2: Getting into Emacs?
by diamond (Acolyte) on Apr 14, 2008 at 17:44 UTC
    cperl mode has a few other nice features besides just indenting and coloring. There is a "Perl" menu available whenever editing perl files with nice perl-specific entries. Another feature I enjoy is the "cperl-get-help" function, which will provide context-sensitive format help for perl constructs. You can bind it to a key, or turn on "autohelp", providing context-sensitive help after a period of inactivity. This can be very convenient for perl constructions that you don't use often (e.g., secsockopt()) where you know what you want but don't remember the order of parameters, etc..