So starten Sie die emacs-GUI unter OS X

6094
trentonknight

Kennt jemand Tricks für den Start emacsmit GUI unter OS X mit dem Standardbefehl emacs?

Ich bin ein zehnjähriger Linux-Benutzer und dachte, ich würde einen Mac kaufen, um vielfältig zu bleiben. Ich kann Dateien jetzt mit emacs öffnen open file.txt, aber das erlaubt mir nicht, den Debugging-Modus zu verwenden.

3
Haben Sie es mit `open -a ProgramName --args program_arguments` oder` / Applications / ProgramName / Contents / MacOS / binary_name program_arguments` versucht? Daniel Beck vor 13 Jahren 1
Yah, ich habe das ursprünglich ausprobiert, aber ich möchte die Einfachheit, es mit einfach alten "Emacs" zu starten. Danke trotzdem. trentonknight vor 13 Jahren 0
Neben dem bereits erwähnten "Alias" würde ich empfehlen, [Aquamacs] (http://aquamacs.org/) anstelle der Standard-Emacs zu verwenden, da es bereits für eine OS X-Umgebung optimiert ist. eFrane vor 13 Jahren 0

5 Antworten auf die Frage

2
Yitzchak

Sie könnten einen Alias ​​wie den folgenden erstellen:
alias emacs = "open -a ProgramName"

Ja, füge es in mein bash_profile ein: `emacs = 'open -a /Applications/Emacs.app" $ @ "'` trentonknight vor 13 Jahren 0
2
David Casperson

Wenn Folgendes zu Ihrem Fachgebiet gehört, kann es sich lohnen, Folgendes zu tun:

  1. Erstellen Sie ein Verzeichnis /Users/Fred, /Users/Fred/binin dem Sie beispielsweise Ihre eigenen ausführbaren Programme speichern.

  2. Stellen Sie sicher, dass MacOS Ihr ausführbares Verzeichnis bei der Anmeldung kennt, indem Sie die Einstellungen in ~ / .MacOS / environment.plist bearbeiten.

  3. Erstellen Sie eine Datei mit dem Namen ~ / bin / emacs. Darin stecken die Zeilen

    #!/bin/sh exec /Applications/Emacs.app/Contents/MacOS/Emacs $*  
  4. Stellen Sie sicher, dass die Datei über die Berechtigung zum Ausführen verfügt: chmod a+x ~/bin/emacs

  5. Abhängig von Ihrem Erfolg mit 2 (und ob Sie sich ab- und angemeldet haben oder nicht), sollten Sie emacs entweder mit emacs oder [worst case] mit ~ / bin / emacs ausführen können

  6. Der Vorteil dieses Ansatzes gegenüber der Verwendung openbesteht darin, dass Sie jetzt Befehlszeilen wie verwenden können sudo emacs --user Fred /etc/something-owned-by-root. Das --user Fredist nützlich, wenn Sie stark angepasste Emacs haben.

Ist es sinnvoll, einen Test hinzuzufügen, ob ein Emacs-Server (gemäß @DougHarris) ausgeführt wird, und wenn ja, dann besuchen Sie die Datei. Und sonst eine neue Sitzung von Emacs beginnen? Dror vor 11 Jahren 1
Wie kann ich verhindern, dass eine zweite Instanz von GUI-Emacs gestartet wird, wenn bereits eine geöffnet ist? incandescentman vor 9 Jahren 0
1
JRobert

Benutzt du bash? Mit dieser Definition der bash-Funktion in Ihrer .bashrc (oder aus welcher Datei auch immer Ihre bash-Aliase stammen) wird 'emacs <stuff more stuff>' das tun, was Sie erwarten. Dazu gehört, dass Sie Ihr Terminal unmittelbar nach dem Starten von emacs an der Eingabeaufforderung zurücklassen.

emacs() { /Applications/Emacs.app/Contents/MacOS/Emacs "$@" & } 
Hervorragend! Ich werde das versuchen! Danke dir. trentonknight vor 13 Jahren 0
Ich habe ein paar Änderungen vorgenommen, aber Ihre Antwort war genau richtig. Dies ist, was ich in meinem .bash_profile auf Lion habe: Alias ​​`emacs = 'open -a /Applications/Emacs.app" $ @ "'` trentonknight vor 13 Jahren 0
0
Dror

Haben Sie versucht Aquamacs? Es verfügt über ein Befehlszeilen-Kit, das Sie dann über die Befehlszeile verwenden können.

Ich habe es ausprobiert und es ist schön, aber es ist fast kein Emacs mehr. Es macht den ganzen Spaß, elend zu sein und alle meine el-Dateien manuell hinzuzufügen. Auch meine .emacs-Datei wurde komplett abgelehnt. Ich bin mir sicher, dass es eine Umgehung gibt, aber warum sollte ich mir trotzdem eine reinere Version von Emacs zulegen? Vielen Dank. trentonknight vor 13 Jahren 0
0
Doug Harris
  1. Starten Sie Emacs nach jedem Neustart. Nie aufhören. (Starten Sie Ihren Computer nur dann neu, wenn ein Betriebssystem-Update einen Neustart erzwingt.)
  2. Stellen Sie sicher, dass Sie den Emacs-Server starten, wenn Emacs gestartet wird, indem Sie (server-start)Ihre .emacsDatei einfügen.
  3. Verwenden Sie das Befehlszeilenprogramm emacsclient -n, um Dateien in Emacs zu öffnen.

Optionaler Schritt 4 - Erstellen Sie einen Alias, um ihn zu verkürzen:

alias em='emacsclient -n'