A ideia é apenas construir uma nova função para expressar seu comportamento personalizado desejado (e ligar a chave a ela).
Ou com lambda
("anônimo", em lugar) ou com defun
(neste caso, você dá um nome a ele e pode consultá-lo com o nome nome).
Para definir um "comando" interativo, você precisa prefixar (interactive)
no corpo.
Por exemplo:
... (lambda() (interactive) (end-of-line+ -1)) ...
ou
(defun my-end-of-line ()
"Invoke end-of-line with -1."
(interactive)
(end-of-line+ -1))