W powłoce bash z przypisywaniem klawiszy emacs można użyć kombinacji klawiszy, takich jak Mf, Mb, aby przesunąć odpowiednio o jedno słowo do przodu lub do tyłu w zachęcie powłoki. Zwykle klucz meta jest mapowany na klawisz Alt w systemach Windows i Linux. Jednak w iTerm nie mogłem znaleźć sposobu na zmapowanie tego klucza meta do klawisza Option lub Command na moim MacBooku Pro.
Wygląda na to, że w OS X klucz meta jest domyślnie przypisany do klawisza ESC. Możesz więc używać ESC-f, ESC-b na iTerm. Jednak użycie klawisza ESC jest najwyraźniej niepraktyczne. Ponadto iTerm ma opcję, która pozwala na mapowanie modyfikatorów dla klucza meta (Zakładki> Profile> Profile klawiatury> Globalny> Klucz opcji jako ...), to ustawienie wydaje się w ogóle nie działać.
Dlatego jeśli ktoś wie jakie jest rozwiązanie tego problemu to proszę o informację.
Zaktualizowałem do najnowszej wersji 0.9.6.1012 i to zachowanie nadal się utrzymuje.
Edycja: Pewne wyjaśnienie mojego pytania. Wiązanie klawiszy, o którym mówię, dotyczy powłoki bash, a nie emacsa. Tak się po prostu zdarza, że domyślnie powłoka bash również używa tego samego wiązania klawiszy co emacs.
Odpowiedzi:
Cmd+.,
Profiles
,Keys
I wybierzLeft option Key acts as: +Esc
.U mnie działa w emacsie, chociaż nie jestem pewien, czy będzie to miało jakieś inne niepożądane skutki.
źródło
Esc+
, mimo że użyłem lewego klawisza opcji, nadal wyświetlałby dziwne znaki. Może się tak zdarzyć, ponieważ używam opcji Modyfikatory klawiatury w ustawieniach klawiatury komputera Mac, aby zmienić klawisze.Przejdź do Zakładki> Zarządzaj profilami . Następnie wybierz Profile klawiatury> Globalne i wybierz Klucz opcji jako Meta . To działa dla mnie w wersji 0.9.6.1201.
źródło
alt
+->
ialt
+,<-
aby odpowiednio wysłać sekwencję ucieczki +f
/b
.W pasku menu Iterm2 => Preferencje => Profile wybierz zakładkę klucze i wybierz
lewy klawisz Option działa jak + Esc
pracował dla mnie również w irssi.
źródło
Nie mogłem też uruchomić klawisza Alt, ale istnieje obejście, które sprawia, że działa przynajmniej do nawigacji po słowach za pomocą klawiszy kursora:
Przejdź do następnego lub poprzedniego słowa w iTerm za pomocą klawiszy Alt / Opcja + Strzałka w lewo lub w prawo
źródło
backward-delete-word
(⎇-DEL) wyślij kod szesnastkowy0x17
, do przeskoczenia na początek wejścia (⌘- ←) wysyłania0x01
i do przeskoczenia na koniec (⌘- →) wysyłania0x05
.Używam iTerm2 , a dla mnie ta odpowiedź po prostu częściowo rozwiązała mój problem:
Oprócz tego musiałem przejść do Cmd+ ,=> Profiles => Keys i na liście Key Mappings znaleźć obie kombinacje klawiszy s: i dwukrotnie je kliknąć i zmienić ich skróty na następujące:
* Upewnij się, że wybrano akcję Wyślij sekwencję ucieczki .
źródło
Idzie tutaj zmartwychwstanie zombie, ale ze względu na potomstwo -
Ten post sprawił, że działał tak, jak sobie tego życzysz, dla Mb i Mf, jednocześnie zachowując ustawienie „Option Key as Meta”, abyś nie poświęcał modyfikatora (osobiście mam mapowania Vima używające meta).
Podsumowując, w swoim globalnym profilu klawiatury dodaj dwa nowe mapowania z ustawieniami:
man ascii
)Jedyną rzeczą, której wciąż brakuje mi w Terminal.app, jest
Opt-Backspace
usuwanie słowami. Istnieją inne obejścia tego problemu, ale próbuję tylko nauczyć się go używaćCtrl-w
.źródło
Ctrl-w
poOpt-Backspace
naciśnięciu.W iTerm2 jest łatwiej. Przejdź do preferencji-> zakładka-> klawiatura i wybierz opcję Wysyła + ESC. W iTerm2 możesz osobno skonfigurować lewy i prawy klawisz opcji, więc pamiętaj, aby zmienić oba, jeśli tego chcesz. Link do iTerm2: http://sites.google.com/site/iterm2home/
źródło
Przejdź do Zakładki> Zarządzaj profilami. Następnie wybierz Profile klawiatury> Globalne i wybierz Klawisz opcji jako + ESC.
Działa w iTerm Build 0.9.5.0611 i Build 0.9.6.20090415
źródło
Znalazłem też rozwiązanie na stackoverflow, po prostu przejdź do profilu klawiatury i w "Global" change "klawisz Option na" + ESC
to działa dla mnie idealnie =) przy okazji istnieje kilka poprawek iterm, zajrzyj tutaj: http://www.emacswiki.org/emacs/EmacsForMacOS
źródło
Spróbuj „wyeksportować LANG = C”. Nie jestem ekspertem od emacsa, ale odkryłem, że to pozwala emacsowi na OS X rozpoznać klucz Option jako klucz Meta w iTerm,
źródło
Nie wiem o iTerm, ale możesz to zrobić w Terminalu. Instrukcje można znaleźć tutaj:
Emacs na skrótach klawiszowych Mac OS X Leopard
źródło
Oto, co mi zadziałało: Zakładki> Zarządzaj profilami> Profile klawiatury> Global / xterm> Klawisz opcji jako + Esc. Dzięki temu mogę użyć Option + Enter w Midnight Commander, a aktualnie wybrana nazwa pliku / katalogu pojawia się w ciągu polecenia, tak jak powinna. Klucz opcji, ponieważ Meta nie działa dla mnie. Moja wersja iTerm to 0,10.
źródło