Klawisz opcji nie działa jako Meta w Tmux

26

Używam Mac OSX Lion. W preferencjach terminalu zaznaczyłem opcję „Użyj klawisza opcji jako meta”. Chociaż klawisz Opcja wydaje się działać dobrze jako Meta w Bash, kiedy używam go w Tmux (przez SSH), nie działa on poprawnie. Próbuję używać skrótów TMUX, takich jak ^b M-1 b M-2itp. Mogę je uzyskać za pomocą klawisza ESC, ale nie klawisza Option.

Phani
źródło
^b Spacez cyklicznym przeglądaniem różnych układów
caspyin

Odpowiedzi:

18

Sugerowałbym użycie iTerm2 zamiast domyślnego Terminal.app, ponieważ jest lepszy z wielu powodów.

W szczególności byłbyś zainteresowany opcjami iTerm2 mapowania opcji lewo / prawo jako „+ Esc”, co działa znacznie lepiej niż próba emulacji Meta dla każdego celu, o jakim mogę pomyśleć lub próbowałem.

To ustawienie znajduje się w:

  • Preferencje
    • Profile
      • [wybierz profil]
        • Klucze
poważny
źródło
1
Szukałem powodu, aby przejść do iTerm2 i oto mam. Dzięki!!
Phani
13
Czy mogę zapytać, dlaczego wybrałeś opcję „+ Esc”, a nie „Meta”, gdy brzmi to tak, jakbyś próbował użyć Meta-klawiszy? Jaka jest różnica / dlaczego „+ Esc” jest lepszy? Dzięki!
NHDaly
25

W przypadku innych osób, które trafiają tutaj za pośrednictwem swojej ulubionej wyszukiwarki, udało mi się rozwiązać ten problem, po prostu wybierając Preferencje -> Profile -> Klawiatura i zaznaczając „Użyj opcji jako klawisza meta” dla używanego profilu terminalu.

Działam weechatpod tmux, a domyślne powiązania klawiszy intensywnie wykorzystują ten metaklucz.

Larsks
źródło
ratujesz mój dzień!
zx1986
Dzięki! Szukałem sposobu na rozwiązanie tego problemu bez konieczności przełączania się na iTerm2.
Valdimar
4

Miałem ten sam problem i żadna z podanych tu odpowiedzi nie zadziałała. To znaczy, ja też miał iTerm2 [Option] klucz odwzorować do [+Esc](aka „awaryjna” -. [META]) W moich „Ustawienia -> Profile -> Klawiatura”, jak opisano w innych odpowiedzi, ale nadal nie może zmienić mój tmux szyba układ z [CTRL]-[b], [+Esc/META]-[DIGIT].

Potem odkryłem, że w „Preferencjach -> Klawisze” znajduje się „Skróty nawigacyjne”, gdzie [Option]+ (dowolny) [DIGIT]jest mapowany na „przełączanie podzielonych okienek” (pamiętaj, że [Option]jest odwzorowany [+Esc], więc jest to wyraźna kolizja). Dlatego po un-ustawienia, które (do wartości klucza pusty), ale w końcu może znowu wygodnie zmienić rozmiar okienka tmux z [CTRL]-[b], [+Esc/META]-[DIGIT](zamiast stosowania [CTRL]-[b](prawdziwe) [Esc], a następnie pożądany układ [DIGIT]).

fnl
źródło
1

W moim .zshrczwykle mam następujący zestaw:

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

W ramach sesji tmux musiałem dodatkowo uwzględnić

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

Możesz znaleźć te kody, uruchamiając readsesję, a następnie naciskając skróty klawiaturowe, np Alt.

Moje klucze są ustawione w następujący sposób w iTerm2:

slhck
źródło
1

Ja też się trzymam Terminal.app , a ponieważ żadna inna odpowiedź nie rozwiązała problemu, dodaję swoją, która działała dla mnie.

Oprócz konfiguracji bieżącego profilu Terminal -> Preferences -> Profiles -> Select the profile to configure -> Keyboardi sprawdzania Use Option as Meta key, przejrzyj także domyślną listę powiązań w tabeli tuż powyżej i upewnij się, że kombinacje, które chcesz przypisać, są wolne. Dla mnie było kilka Option + Arrowklawiszy, które zakłócały tmuxkonfigurację, aby łatwo przełączać się między panelami.

wprowadź opis zdjęcia tutaj

Spidey
źródło