Option key does not work as Meta in Tmux

28

5

I am using Mac OSX Lion. I have checked "Use Option key as Meta" in Terminal preferences. Although the Option key seems to work fine as Meta in Bash, when I use it in Tmux (over SSH) it does not work properly. I am trying to use TMUX shortcuts like ^b M-1 b M-2 etc. I can get these with the ESC key but not the Option key.

Phani

Posted 2013-09-25T05:07:59.937

Reputation: 478

^b Space with cycle through the various layouts – caspyin – 2014-03-22T14:03:54.127

Answers

18

I would suggest using iTerm2 instead of the default Terminal.app, as it is better for many reasons.

Specifically, you would be interested in iTerm2's options to map left/right option as "+Esc", which works much better than trying to have it emulate Meta for every purpose I can think of or have tried.

This setting is located under:

  • Preferences
    • Profiles
      • [select a profile]
        • Keys

demure

Posted 2013-09-25T05:07:59.937

Reputation: 4 605

1I was looking for a reason to move to iTerm2 and here I have it. Thanks!! – Phani – 2013-09-27T17:32:03.010

14May I ask why you choose to set option to "+Esc" and not to "Meta" when it sounds like you're trying to use Meta-keys? What is the difference / why is "+Esc" better? Thanks! – NHDaly – 2014-03-01T19:15:24.470

25

For other folks who find their way here via their favorite search engine, I was able to solve this problem by simply going to Preferences -> Profiles -> Keyboard and checking "Use Option as Meta key" for the terminal profile I'm using.

I'm running weechat under tmux, and default key bindings make heavy use of the meta key.

larsks

Posted 2013-09-25T05:07:59.937

Reputation: 3 245

you save my day! – zx1986 – 2019-02-11T13:51:59.813

Thanks! I was looking for a way to solve this without having to switch to iTerm2. – Valdimar – 2019-04-10T11:56:13.053

4

I had the same problem and none of the answers provided here worked. That is, I too had the iTerm2 [Option] key remapped to [+Esc] (aka. "fallback"-[META]) in my "Preferences -> Profiles -> Keyboard", as described in the other answers, but still could not change my tmux pane layout with [CTRL]-[b], [+Esc/META]-[DIGIT].

Then I found that under "Preferences -> Keys", there is a "Navigation Shortcuts" where [Option] + (any) [DIGIT] is mapped to "switch split panes" (remember [Option] is remapped to [+Esc], so that's a clear collision). Therefore, after un-setting that (to an empty key value), I finally can again comfortably resize my tmux panes with [CTRL]-[b], [+Esc/META]-[DIGIT] (instead of having to use [CTRL]-[b], (the real) [Esc], and then the desired layout [DIGIT]).

fnl

Posted 2013-09-25T05:07:59.937

Reputation: 141

2

I'm also sticking to Terminal.app, and since no other answer solved the issue I'm adding my own that worked for me.

Besides configuring the current Profile in Terminal -> Preferences -> Profiles -> Select the profile to configure -> Keyboard and checking Use Option as Meta key, also look through the default list of bindings in the table just above and make sure that the combinations you want to assign are free. For me there were a few Option + Arrow keys that were interfering with tmux configuration to easily change between panes.

enter image description here

Spidey

Posted 2013-09-25T05:07:59.937

Reputation: 121

1

In my .zshrc I usually have the following set:

bindkey '^[[1;9C' forward-word
bindkey '^[[1;9D' backward-word

Within tmux sessions, I had to additionally include

bindkey '^[[1;3C' forward-word
bindkey '^[[1;3D' backward-word

You can figure out these codes by running read in a session, then pressing the keyboard shortcuts, e.g. Alt.

My keys are set as follows in iTerm2:

slhck

Posted 2013-09-25T05:07:59.937

Reputation: 182 472