TheDamian has asked for the wisdom of the Perl Monks concerning the following question:

I'm currently finishing up my new book (Perl Best Practices, O'Reilly) and I'm writing an appendix showing how to set up certain editor facilities that make Perl programming easier.

As a dedicated vim user, I can handle that side of things fine, but when it comes to Emacs, I'm Escape-Meta-Alt-Control-Stupid.

I would be very grateful (and would be sure to acknowledge in the book) if some of my learned fellow monks who are fluent in both vim and Emacs could offer me a consensus on the best way to translate the following .vimrc configurations into something suitable for a user's .emacs file.

The first pastes in a handy pair of lines for debugging...

:iab dbg use Data::Dumper qw( Dumper );^Mwarn Dumper [];^[hi

The second set load prefab document templates from a standard location...

:iab stdappt ^?^[:r ~/.application_template^M :iab stdmodt ^?^[:r ~/.module_template^M :iab stddoct ^?^[:r ~/.documentation_template^M

The third sets sane tab-stoppage...

set tabstop=4 "An indentation level every four columns" set expandtab "Convert all tabs typed into spaces" set shiftwidth=4 "Indent/outdent by four columns" set shiftround "Always indent/outdent to the nearest tabstop"

If anyone would like to suggest better vim solutions as well, I'd be doubly grateful.

And I'll also happily consider adding in the equivalent config advice for other major editors (e.g. UltraEdit, BBEdit, TextWrangler) if anyone feels competent to offer it.