Here's my .plumrc file: # for autoloading... this dir has these scripts to autoload in it eval unshift(@INC, $HOME . '/scripts/plumlib') autoload repl_quick autoload repl_quoted bind + folder bind ^E repl_quick bind w reply_cc_all bind ^W repl_quick bind R repl_quoted bind ^R repl_quick bind ; reread bind A repl_quoted set mailcheck=5 # set noautotype # set nocleanfolders set wastebasket=trashbox bind j down_line_sticky bind k up_line_sticky bind ( reply -e repl-quoted Notice that it's in plum commands, not perl code, except for the eval, whose presence covers a multitude of sins. :-) One of the outstanding bugs in plum is that the keyboard input routine basically sucks. You can't type control characters. They have to read in from a file. Those caret+letter combos can really be control characters in your plumrc file. Notice the autoloaded functions, repl_quick and repl_quoted. These are perl scripts somewhere in @INC. Here's repl_quick.pl: sub repl_quick { &goto_message($Count) if $Count; &system('repl -whatnowproc repl-quick ', ¤t_msgid, $Current_Folder); &fudge_folder_id; # anno updates } 1; Here's another one, repl_quoted.pl: sub repl_quoted { &goto_message($Count) if $Count; &system('repl -editor repl-quoted ', ¤t_msgid, $Current_Folder); local($Auto_Type) = 0; # suppress autoprinting of next &fudge_folder_id; # anno updates &redraw; } 1; There is much to be learned from these examples. Good luck.