Keys can only be bound to *commands*. A command is a function which contains an `interactive` form. This is necessary even if your command takes no arguments. Hence: <!-- language: lang-el --> (global-set-key (kbd "C-x 8 l") (lambda () (interactive) (insert "λ"))) See also: * <kbd>C-h</kbd><kbd>i</kbd><kbd>g</kbd> `(elisp) Defining Commands` <kbd>RET</kbd> * http://emacs.stackexchange.com/q/3555/454