2009-08-30 6 views
22

Informacje dodatkowe:Co oznacza słowo "s- [nazwa-kluczy]" w Emacs i jak mogę nakazać Emacsowi zignorowanie go?

Jestem na komputerze Mac, a właśnie zaktualizowałem Emacs 23.1 do http://emacsformacosx.com/. Jest kilka problemów, w szczególności brak możliwości pełnego ekranu.

Próbowałem obejść ten ostatni problem, instalując Megazoomer, który dodaje globalny menedżer wejściowy związany z Cmd-return. To powoduje, że obecnie zastosowanie do przodu, aby zmaksymalizować. Jednak Emacs zgłasza, że ​​<s-return> is undefined. Nigdy wcześniej nie widziałem wspomnianego wcześniej s-[key], a Google nie ma odpowiedzi.

Więc dwie części:

  1. Co s-[key] oznacza? Jest to wyłącznie dla mojej satysfakcji; i
  2. Czy mogę nakazać Emacsowi zignorowanie tej kombinacji klawiszy i pozwolić, aby kombinacja klawiszy przenosiła się do systemu (tak, że mam nadzieję, że znów będę mógł mieć pełnoekranowy Emacs)?

EDYCJA: tak 1) został rozwiązany, a co do 2) Mam: (global-set-key (kbd "<s-return>") 'ignore), który przynajmniej zatrzymuje błąd. Jednak Emacs nadal połyka kombinację klawiszy, co nie jest idealne.

+0

Jeśli dopiero zaczynasz używać Maca, możesz wypróbować Aquamacs. F7 (lub m-X aquamacs-toggle-full-frame) przełącza tryb pełnoekranowy. – Greg

+0

Nie jestem nowy na Macu, jestem nowy w Emacs. I wypróbowałem Aquamacs i nie spodobało mi się to. Dzięki i tak. –

+0

Mam więc: (klucz globalny (kbd "") "ignore") co oznacza, że ​​nie mam już błędu, ale Emacs nadal przełyka połączenie. :( –

Odpowiedz

21

To Super key, jak M- jest kluczem Meta (klawisz Alt na klawiaturze komputera klawisz Command na klawiaturze) i C- jest klawisz Control.

Oczywiście nigdy nie widziałem super klucza na mojej klawiaturze ... są z dawno minionej epoki. Wikipedia ma obraz tego imponującego "Space Cadet keyboard" który ma wszystkie modyfikatory kiedykolwiek będziesz potrzebował:

+1

Naprawdę chciałbym mieć jeden z nich w dzisiejszych czasach +1 dla zdjęcia – Jonathan

+1

Ja też, wyobraź sobie kciuki- w górę i na dół na klawiaturze! Nie mówiąc już o czterech cyfrach rzymskich ... :-) –

+0

Niesamowite, dziękuję za to. Nie wiedziałbyś, jak mogę powiedzieć Emacsowi, żeby zrezygnował z tej kombinacji ...? –

1
(setq ns-command-modifier nil) 

To ma robić, co chcesz. Jednak podczas testowania ma on nieco nieprzewidywalne zachowanie na komputerze, dlatego należy go ostrzec.

2

Na pytanie o to, co s- [key] Oznacza, na polu ubuntu Oznacza to ukształtowany klucz Windows®. Co to oznacza w systemach OSX, nie wiem.

Co do maksymalizacji okien, czy mógłbyś spróbować? (To powinno działać, IIF OSX uruchamia serwer X gdzieś pod tym wszystkim)

(if (equal (window-system) 'x) 
    (progn 
    (defun toggle-fullscreen() 
    "Toggles fullscreen" 
    (interactive) 
    (x-send-client-message nil 0 nil "_NET_WM_STATE" 32 
       '(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0)) 
    (x-send-client-message nil 0 nil "_NET_WM_STATE" 32 
       '(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0))) 

    (global-set-key (kbd "C-c C-y") 'x-clipboard-yank) 
    (global-set-key (kbd "M-RET") 'toggle-fullscreen))) 

Ten mały fragment, co mogę używać, aby włączyć tryb pełnoekranowy na moich komputerach * nix. A szarpanie ze schowka X'a jest fajną umiejętnością.

chodzi o jak ustawić skróty klawiszowe, użyj globalnego-set-klucz dla trybu niezależnych skróty klawiszowe. (Dodaj go do pliku .emacs, jeśli ma to być trwałe.)

7

zwykły Emacs 23.1 na MacBook Pro, mogę mapować prawego klawisza opcja super przez

(setq ns-right-option-modifier 'super) 

Twoje inne wybór wydaje się być kluczem funkcja, która byłaby ns-function-modifier.Jednakże, fn może mieć inne zastosowania, podczas gdy domyślną wartością domyślną Emacsa jest mapowanie ns-right-option-modifier na ’left (tj. Taki sam efekt jak lewy klawisz opcji, który w każdym razie muszę uzyskać znak #!), Więc odpowiednia opcja Klucz jest do pewnego stopnia zbędny.

Osoby leworęczne mogą chcieć to cofnąć.