0

My goal Write code in my init.el file so that from now on, M-v will just print the BELL character (character number 27 in hexadecimal) instead of scrolling down as it does by default.

My failed attempts :

Attempt 1: (global-set-key (kbd "M-v") (quote ("'")))

This gives no error message but M-v just says command undefined and does not print the character.

Attempt 2 : (global-set-key (kbd "M-v") (insert-char("BELL")))

Produces the following error message :

Warning (initialization): An error occurred while loading ‘.emacs.d/init.el’: 
Invalid function: BELL

Attempt 3 : (global-set-key (kbd "M-v") (insert-char(#x27)))

Produces the following error message:

Warning (initialization): An error occurred while loading ‘.emacs.d/init.el’:
Invalid function: 39
1
  • 1
    #x27 is an apostrophe, I guess you mean 7 (the ASCII "bell" character). There is also #x1F514 for the "bell emoji" 🔔. Or if you actually want the sound, see (elisp) Beeping.
    – npostavs
    Commented Sep 26, 2018 at 11:46

1 Answer 1

3

Keybindings need to refer to commands, which means you need to wrap your code in a lambda form. Also this is Lisp, so you don't need to surround the arguments to a function in parentheses. That all adds up to:

(global-set-key (kbd "M-v") (lambda ()
                  (interactive)
                  (insert-char #x27)))
1
  • Just checked that it works, thank you ! Commented Sep 26, 2018 at 10:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.