Skrócony formularz: chcę uruchomić wersję Emacsa dla Mac OSX, którą można znaleźć na stronie http://emacsformacosx.com/ jako demon, z klientami graficznymi i tekstowymi łączącymi się z nim w razie potrzeby.
Szczegółowo, oto przepływ pracy, który chcę:
Podczas logowania uruchom,
/Applications/Emacs.app/Contents/MacOS/Emacs --daemon
aby uruchomić emacsa jako demona. Wiem już, jak to zrobić .Podczas uruchamiania emacsa z lokalnego terminala chcę jedno z tych:
- Jeśli uruchomię
emacs
z lokalnego wiersza polecenia, otwórz nową ramkę z wybranym plikiem. - Jeśli # 1 nie jest możliwe, przynajmniej jeśli uruchomię
emacsclient
z wiersza poleceń, otwórz nową ramkę z wybranym plikiem.
- Jeśli uruchomię
Podczas uruchamiania emacsa ze zdalnego terminala chciałbym, aby emacs w trybie tekstowym został uruchomiony, podłączony do procesu demona.
Jeśli uruchomię,
Emacs.app
użyj ponownie demona emacs działającego w tle zamiast uruchamiać nowe wystąpienie i otwierać w nim nowe okno.
Do tej pory jestem w stanie osiągnąć tylko # 1 i # 2.2 powyżej, ale to są łatwe części. # 3 i # 4 to rzeczy, które są najbardziej potrzebne, aby to zadziałało. Czy ktoś wie, jak to osiągnąć?
M-x server-start
wprowadzić emacsa uruchomionego bez--daemon
w tryb serwera. Dobre pytania, BTW.(server-start)
.emacs, aby zaczął się po uruchomieniu emacsaOdpowiedzi:
Tak, będziesz chciał użyć emacsclient. Aby uzyskać nową ramkę, dodaj opcję -c. Mam alias, aby przyspieszyć i powiedzieć emacsclient, aby nie czekał na powrót serwera emacs:
emacsclient -nw
em
aliasu.Aktualizacja:
Sprawdź tę wskazówkę dokumentującą, jak używać Dziobaka do tworzenia opakowania aplikacji wokół emacsclient. Następnie możesz użyć „Otwórz za pomocą ...”, aby uruchomić za pomocą nowego opakowania aplikacji.
źródło
Tak, oto dość wyczerpujące wyjaśnienie, jak to zrobić ładnie. Wypróbowałem kilka metod, aby działało to ładnie, ale nie lepiej niż to, co tutaj opisano.
https://gist.github.com/304964
Twoje zdrowie!
źródło
Dla 4. włóż to do .emacs:
Rozwiązanie tworzenia aplikacji na Maca (z dziobakiem) nie działa, ponieważ Mac nie otworzy dwukrotnie tej samej aplikacji.
źródło
open -a Emacs.app
jest z pewnością tym, co robię, ale aby otworzyć się w tym samym tle instancji / demona istniejącego emacsa, muszę pisać(setq ns-pop-up-frames nil)
w swoim,.emacs
tak jak napisałem w odpowiedzi. W przeciwnym razie i tak tworzy nowe okno, z lub bez-n
.