in reply to Desparately seeking a bilingual vim/Emacs expert
Try the abbrev-mode. Here is the sample code that you can stick in an .emacs file, which enables the abbrev-mode and sets up some global abbreviations:
I found that it is better to add a hook to the preferred editing made, to enable abbreviation mode, like:(abbrev-mode 1) (define-abbrev-table 'global-abbrev-table '( ("dbg" "use Data::Dumper qw( Dumper );^Mwarn Dumper;^[hi" nil 1) ))
This enables the abbreviation mode while editing text files. Also you can enbale the abbrev mode by typing: M-x abbrev-mode(add-hook 'text-mode-hook (lambda () (abbrev-mode 1)))
For the pre-fab documents, try using auto-insert. This mode can work on the file extensions, this link gives more info
For tab stops etc, use cperl-mode.