0

I'm using iTerm2, and I would like to remap some of the meta keys. In my .emacs I have

(global-set-key (kbd "M-g") 'goto-line)

And in my iTerm2 settings I have both "option" keys set to send +Esc. I can use any of the default key bindings like normal, but M-g, (or others I've remapped) still send the default command. I've tried changing iTerm2 to send meta, but it instead injects non-printable ascii characters.

What's the best workaround to get these key bindings to work under iTerm2? Is there a clearer solution than to have my .emacs check if I'm using a Mac, and if so then use (kdb "Esc-g")?

Dan
  • 32,584
  • 6
  • 98
  • 168
David
  • 197
  • 3
  • 1
    Is this really an Emacs problem? It sounds more like an iTerm2 problem. What happens when you try (from a shell) `cat` and type `C-e` `M-e` `M-g`. – PythonNut Feb 27 '15 at 17:11
  • Nothing shows up. To clarify, I'm not saying "this is a problem with emacs", but rather "emacs is getting bad input from another program". – David Feb 27 '15 at 17:23
  • I use iTerm2 and have the left option set to +Esc and am able to define new key combos including the one you're trying to use. When you say that it sends the "default command" after remapping what do you mean? If you hit `M-g` `M-g` (or `M-g` `g`) does it invoke `goto-line` (I think this is emacs default)? – William Everett Feb 27 '15 at 23:27
  • Insofar as this is about emacs in a terminal, have a look at [Problems with keybindings when using terminal](http://emacs.stackexchange.com/questions/1020/problems-with-keybindings-when-using-terminal). – Dan Feb 28 '15 at 17:37

1 Answers1

0

Forgot to check *Warnings*. A totally unrelated change in my .emacs was causing it to not load correctly, meaning the bindings were never set.

David
  • 197
  • 3