W OS X: jak uruchomić emacs Cocoa * i * przenieść go na pierwszy plan?

1

Napisałem małą funkcję zsh, która pozwala mi uruchamiać emacsa z wiersza poleceń:

function emacs() {
    /Applications/Emacs.app/Contents/MacOS/Emacs $@ &
}

Działa to doskonale, ale wydaje się, że uruchamia emacsa jako ostatnie okno na mojej liście Cmd-tab. Czy jest jakiś sposób, aby skupić się na uruchomieniu?

Jason Baker
źródło

Odpowiedzi:

5

Sposób emacsa do otwierania plików w emacs polega na użyciu emacsclient z wiersza poleceń. Wymaga to, aby emacs uruchomił serwer emacs (używając Mx server-start lub umieść (server-start)w pliku .emacs).

Mam to w moim .bashrc (dostosuj odpowiednio do zsh):

alias em='emacsclient -n'

Używam GNU Emacs 23.1.50.5 (zbudowany kiedyś z CVS w zeszłym tygodniu) i ta wersja przenosi moje okno emacsa na pierwszy plan.

Jeśli otwierasz i zamykasz emacsa dla każdego edytowanego pliku, nie wykorzystujesz w pełni możliwości emacsa. Zazwyczaj uruchamiam emacsa krótko po ponownym uruchomieniu i pozostaje on otwarty, dopóki następna aktualizacja oprogramowania Mac nie wymaga ponownego uruchomienia.

Doug Harris
źródło
2
open -a Emacs.app foo.txt

Spowoduje to otwarcie pliku „foo.txt” w Emacs.app. Jeśli chcesz wysłać argumenty polecenia do Emacsa, użyj przełącznika args.

Richard Hoskins
źródło
Problem polega na tym, że miałem zamiar użyć opcji wiersza poleceń ($ @), aby przejść do emacsa. Przy takim podejściu otwierają się.
Jason Baker
Zdrap to. Najwyraźniej działa to , jeśli wywołujesz emacs w następujący sposób: open -a /Applications/Emacs.app/Contents/MacOS/Emacs --args $@
Jason Baker
Myślałem, że argumentami są pliki, które zamierzałeś otworzyć za pomocą One True Editor. Jeśli nie, to tak, potrzebujesz przełącznika „--args”.
Richard Hoskins
Hej Jason ... czy wymyśliłeś jakiś sposób, aby to zadziałało bez użycia polecenia open?
Das
Właściwie nieważne. Myślę, że mogę żyć z użyciem tego otwartego polecenia, mimo że myślę, że jest on kiepski i przypomina przedszkole.
Das,