Jestem użytkownikiem Maca i zdecydowałem się nauczyć Emacsa. Mam przeczytać , że w celu zmniejszenia zmęczenia ręki i poprawy dokładności CTRLi CAPS LOCKklucze powinny zostać zamienione. Jak to zrobić w Leopardzie?
Ponadto w Terminalu muszę użyć ESCklawisza, aby wywołać meta. Czy jest jakiś sposób, aby uzyskać klawisz alt / opcja, aby zamiast tego wywołać meta?
aktualizacja: Chociaż klawisz Ctrl jest teraz znacznie łatwiejszy do naciśnięcia, klawisz meta jest również używany na tyle często, że jego pozycja na moim MacBooku i klawiaturze Apple również zasługuje na uwagę. W rzeczywistości stwierdzam, że klawisz Control jest faktycznie łatwiejszy do uderzenia, więc przemapowałem mój klawisz kontrolny, aby działał jak klucz meta. Czy ktoś ma lepsze / bardziej standardowe rozwiązanie?
źródło
Odpowiedzi:
Zamiana CTRL i CAPS LOCK
Używanie ALT / OPTION jako META
Otóż to! Powinieneś być na najlepszej drodze do zostania mistrzem Emacsa!
źródło
Dla porównania, oto skróty klawiszowe do poruszania się po tekście:
⌥+ ←- przesuń w lewo o jedno słowo
⌥+ →- przesuń w prawo o jedno słowo
⌥+ delete- wstecz usuń jedno słowo
Shift+ ⌥+ delete- dalej usuń jedno słowo
⌥+ ↑- przejdź o jeden akapit w górę
⌥+ ↓- przejdź o jeden akapit w dół
⌘+ ←- przejdź na początek bieżącej linii
⌘+ →- przejdź na koniec aktualnej linii
Shift+ dowolna z powyższych rozszerza wybór o odpowiednią kwotę
Kliknij, a następnie przeciągnij - zaznacz tekst
Kliknij dwukrotnie, a następnie przeciągnij - zaznacz tekst, zawijanie do końców słów
Trzykrotne kliknięcie, a następnie przeciągnij - zaznacz tekst, zawijanie do końców akapitu
Shift+ Zaznacz tekst myszką - dodaj do zaznaczenia (ciągły)
⌘+ Zaznacz tekst myszką - dodaj do zaznaczenia (nie sąsiadujący)
⌥+ Przeciągnij - zaznacz prostokątny obszar (nie sąsiadujący)
⌘+ ⌥+ przeciągnij - dodaj prostokątny obszar do zaznaczenia
Przeciągnij zaznaczenie - przesuń tekst
⌥+ przeciągnij zaznaczenie - skopiuj tekst
Ctrl+ A- przejdź na początek bieżącego akapitu
Ctrl+ B- przesuń w lewo o jeden znak
Ctrl+ D- do przodu usuń
Ctrl+ E- przejdź do końca bieżącego akapitu
Ctrl+ F- przejdź w prawo o jeden znak
Ctrl+ H- usuń
Ctrl+ K- usuń pozostałą część bieżącego akapitu
Ctrl+ L- wyśrodkuj okno na bieżącym linia
Ctrl+ N- przejście o jedną linię w dół
Ctrl+ O- wstawienie nowej linii za kursorem
Ctrl+ P- przejście o jedną linię w górę
Ctrl+ T- transpozycja (zamiana) dwóch otaczających znaków
Ctrl+ V- przejście na koniec, a następnie o jeden znak w lewo
Ctrl+ Y- wklejanie tekstu wcześniej usuniętego za pomocąCtrl - K
Dodaj Optiondo Ctrl+ Flub Ctrl+, Baby przenieść słowo zamiast znaku na raz.
źródło
Druga odpowiedź była bardzo kompletna, ale dodatkowo wspomniałbym, że po prostu ustawiłem klawisz Caps Lock na drugi klawisz kontrolny zamiast ich zamieniać.
Zauważysz również, że znaczna większość pól wprowadzania tekstu w Mac OS X już akceptuje naciśnięcia klawiszy emacsa (^ A początek wiersza, ^ E koniec wiersza, ^ P, ^ N, ^ K, ^ Y itd.)
powodzenia
źródło
Bardzo podoba mi się odpowiedź udzielona przez Kyle'a Cronina, ale chcę dodać jedną rzecz - upewnij się, że wybrałeś odpowiednią klawiaturę, aby to zadziałało. Jeśli masz zewnętrzną klawiaturę podłączoną do laptopa, istnieje dodatkowe rozwijane okno i będziesz musiał to zrobić dla obu klawiatur (lub przynajmniej dla klawiatury zewnętrznej). Poniższy zrzut ekranu przedstawia okno dialogowe „Wybierz klawiaturę” - wybrałem „Wspólną klawiaturę Maca”, co jest sposobem na określenie zewnętrznej klawiatury GoldTouch w MacBooku - domyślnie jest to klawiatura wbudowana.
Kiedy już to zrozumiałem - to działa świetnie!
źródło
Jeśli używasz emacsa przez połączenie ssh lub przez maszynę, która nie znajduje się na twoim lokalnym komputerze, przyciski page up / page down przewijają bufor terminala - z mojego doświadczenia nie są zbyt pomocne.
Możesz ustawić przyciski strony w dół i w górę, aby wysyłać odpowiednie polecenia do emacsa. W emacsie możesz przewijać bufor emacsa w następujący sposób:
Tak więc, aby terminal wysłał te polecenia do emacsa, postępuj zgodnie z instrukcjami powyżej, aby zmienić klawisze Alt dla Meta. Jednak zamiast ustawiać opcję „użyj opcji jako meta”, znajdź opcje „page down” i „page up”.
Strona w dół
Kliknij dwukrotnie opcję „page down”, aby ją edytować. Zmień akcję na „wyślij ciąg do powłoki” i wpisz \ 026 jako ciąg. Zapisz to.
Strona w górę
Kliknij dwukrotnie przycisk „page up”, aby go edytować. Zmień akcję na „wyślij ciąg do powłoki” i wpisz \ 033v jako ciąg. Zapisz to.
źródło
Nie jestem pewien, czy jesteś całkowicie żonaty z używaniem Emacsa z terminala, ale inną opcją jest użycie Carbon Emacs (mój ulubiony) i Aquamacs (bardzo podobny do Maca). Carbon Emacs używa klawisza Command dla meta, jest to miłe, ponieważ możesz wykonywać polecenia Control-Meta po prostu przytrzymując klawisz Control i Command zamiast najpierw uderzać klawisz Esc, a następnie sekwencję klawiszy kontrolnych.
Ponadto, jeśli jesteś poważnym użytkownikiem Emacsa, zdecydowanie zalecam zakup klawiatury przystosowanej do programowania (czyli takiej, która jest całkowicie przeprogramowalna sama). Używam Kinesis, to trochę pieniędzy, ale są niezwykle wytrzymałe i całkiem ładne.
źródło
Osobiście mam konfigurację Caps Lock, aby zachowywać się jak polecenie w preferencjach systemowych, a następnie na moim pliku init.el emacsa:
(setq mac-command-modifier 'ctrl)
a to pozwala mi używać caps locka jako polecenia w większości aplikacji osx i jako kontrolki w emacsie. działa dla mnie wystarczająco dobrze.
źródło
Twoja radość dopiero się zaczyna. Inne sztuczki obejmują:
Przeczytaj doskonały artykuł pod adresem http://stevelosh.com/blog/2012/10/a-modern-space-cadet/, aby uzyskać dużo więcej informacji.
źródło
Ten wątek został uruchomiony 5 lat temu i nie ma wzmianki
ns-win.el
ani kompilacji--with-ns
. Oto wszystkie skróty klawiszowe dostępne (po wyjęciu z pudełka) w Emacs Trunk od października 2013. I oczywiście możesz tworzyć własne. Osobiście mam jedeninit.el
ze wszystkimi moimi przypisaniami klawiszy, który może być używany w systemie Windows XP przez Parallels na OSX, a także natywnie z OSX. Ponieważ użytkownik może definiować własne skróty klawiaturowe, nie widzę potrzeby zmiany przypisania klawiatury w preferencjach systemowych (z klawiaturą Apple US), chyba żeużywając klawiatury, która nie zawiera klawisza Command. Ale czy wyrzuciłbym mój zapas klawiatur IBM Clicky z wbudowanym trackpointem? Oczywiście nie. :) Zabieram ze sobą klawiatury IBM Clicky do następnego życia. Jakiekolwiek nadwyrężenie dłoni jest najprawdopodobniej spowodowane niewłaściwą pozycją nadgarstka / ramienia / łokcia, a nie uderzeniem w kontrolę w porównaniu z blokadą czapek. Dokładność jest zwiększana poprzez praktykę i z pomocą szefa, który patrzy przez ramię, aby zobaczyć, jak sobie radzisz - tj. Niewielką presję, aby być bardziej produktywnym :)źródło
(nie jest to ergonomiczna klawiatura, ale bardzo podoba mi się podróż i dotyk klawiszy, a klawisz Control i Caps Lock są zamienione).
http://matias.ca/osxkeyboard/index.php
źródło
Utworzyłem dość obszerny zestaw opraw tutaj do użytku na zewnątrz Terminalu.
Osobiście nie mogę używać klawiatury laptopa Mac ze względu na brak odpowiedniego klawisza sterującego.
Zamiast tego używam Microsoft Natural Ergonomic Keyboard 4000 od ponad 7 lat: ma naprawdę grube, dobrze rozmieszczone klawisze Ctrl i Alt, a po pobraniu sterowników klawisze „Start” i „Aplikacja” są w trywialny sposób mapowane na Maca Klawisz Cmd, który jest również gruby i łatwo wciskany.
Aby uniknąć problemów związanych z ergonomią emacsa, nauczyłem się używać Ctrl, Alt i Cmd w ten sam sposób, w jaki używamy Shift - wciskając je ręką przeciwną do tej, która wpisuje właściwy klawisz. (Oznacza to, że zostawiam Caps Lock bez zmian.)
źródło
Ustawiłem Caps Lock, aby kontrolować w preferencjach systemowych i mam następujące elementy w moim init.el, aby ustawić polecenie na meta i opcję na super:
źródło
Chciałbym polecić 2 programy Seil i Karabiner . Po prostu instalując Seil i postępując zgodnie z instrukcjami w oprogramowaniu, powinieneś być w stanie osiągnąć to, co chcesz. Z mojego doświadczenia wynika, że Karabiner jest potężniejszy. Mam japońską klawiaturę, której układ różni się od zwykłych. Mam fragment kodu, który zmienia mapowanie dwóch dodatkowych klawiszy na mojej klawiaturze na F18 i F19 do innych celów. Możesz użyć tej samej składni do edycji pliku „private.xml”, aby zrobić więcej rzeczy.
źródło