http://www.perlmonks.org?node_id=490880


in reply to Perl IDE and New Foreign APIs

We use a highly customized emacs at work... A few of the features we've added are:

- Jump to perl-thing-at-point, whether its a method, module, constant, subroutine, or filename
- Show the inheritance hierarchy of this module, or the one under point
- Add a use line for the class under point
- Deparse a chunk of highlighted perl, adding parens to clarify precidence
- Jump from code to test (and vice versa) in one button
- Run the unit test
- Update the test count
- See the current cvs diff for this file or sandbox
- Navigate previous cvs changes for this file
- Show the entire CVS checkin that added a particular line
- Apply/Revert a hunk from a cvs diff file
- Show CVS annotation or log comment for current line
- Jump from a CVS diff file directly to the line in the code
- Insert a random MAC address (for writing unit tests)
- Insert a source filter around the current block so only a portion of the unit test is run, so you can focus in on a particular test thats failing
- Toggle formatting of lists or hashes that span more than 80 columns
- find all occurances of a string in our code base
- show all methods named X
- find all callers of method X
- Jump to the SUPER method of the one you're overriding
- Jump to the superclass of the current module
- run 'make' with various useful targets
- Display the apache error logs in a way that makes them easy to read and jump quickly to source of the error
- make sure the current perl file compiles cleanly
- pull up a perldoc on whatevers under the point
- Insert various useful debugging lines temporarily, i.e. Carp
- toggle pairs of single quotes to double quotes and vice versa
- Fold unnecessarily long copyright chunks into one line
- Tab complete module names based on the .pm files in the filesystem
- Toggle between prefix and postfix versions of if,foreach,while

And thats just a quick list I came up with by scanning through our config file... I'm sure there's lots of other good stuff in there that I missed. Its gotten to the point where our die-hard vi users are beginning to transition to emacs so they can develop faster. ;-)

-Blake