Is it possible to bind multiple functions to a single key such that successive keypresses cycle through the functions? I'd like to be able to use the control-l key to first execute <current-middle>, then if it is pressed again, to execute <current-top> and finally, if pressed a third time, execute <current-bottom>.
For emacs users, the functionality I'm looking for would be similar to the Control-l key in emacs which executes the recenter-top-bottom command.