in reply to Re: Getting into Emacs?
in thread Getting into Emacs?

Seeing that I learned the basics in SimpleText on OS8, I definitely don't need my editor to code for me :^) Here are my needs, but of course I'm forgetting some:
Syntax highlighting
Most editors have this. I need it to highlight CSS in the head of a document, HTML in a PHP file, JavaScript in HTML, etc. Not so much for inline style="" or onclick="" attributes but when separated explicitly with style and script tags.
Indentation
Good, automatic, context-sensitive indentation
Code completion
Index my functions, classes, even variables so I don't have to repeat so much typing. Library function completion is nice too...
Project management
I need to be able to access my filesystem to some degree from the editor. It's very nice to be able to see a list of files in a project too, and to be able to launch projects by name. Finally, in TextMate I use Control+T which has a great project file quicksearch, so "Ctrl+T: head" will bring up a list of all files with these letters, regardless of their directory.
Access to shell, maybe a debugger
Access to the shell would be great, and I'm sure Emacs does this. I honestly don't know what a debugger is, and I always manually debug my code. Being able to run scripts while in Emacs would be great. Dropping to a shell and using "python ./some_script.py" works, but not as elegantly.

I know Emacs has plugins to do snippets like TextMate, so that's not a concern. And I'm willing to learn rudimentary ELisp to maximize customization.

Replies are listed 'Best First'.
Re^3: Getting into Emacs?
by Joost (Canon) on Apr 11, 2008 at 19:07 UTC
    Emacs can do all of this, though real thorough code completion is really dependent on the support of and mode for the language you're using. There are a whole bunch of generic completion minor modes too, so you'll never be completely without it if you don't want to.

    For perl, I don't really use the debugger much at all. You may also be interested in Sepia, which runs an "inferor perl" more or less like Slime for Lisp, which means it can catch/debug exceptions when they occor, do completions based on whatever is currently defined in your running perl process etc. This is a pretty different way of developing than the usual save/compile/run methods, and suits some kinds of programs better than others.