Verwenden von Aquamacs für EDITOR in Subversion

1841
alyssackwan

Ist es möglich, Aquamacs als Editor für Subversion zu verwenden. Zum Beispiel, wenn ich es tue

svn propedit svn:ignore . 

und ich habe die EDITOR-Variable auf "emacs" gesetzt. Sie verwendet GNU emacs für den Editor, um diese Eigenschaft zu bearbeiten.

In meinem .profil habe ich

alias emacs="open -a /Applications/Aquamacs.app/" 

So anrufen

emacs foo.bar 

öffnet die Datei in Aquamacs.

Wenn Sie die Variable EDITOR auf "emacs" setzen, wird Aquamacs nicht verwendet. Wenn Sie den EDITOR auf "" open -a /Applications/Aquamacs.app/ "" setzen, die Datei in Aquamacs öffnen. Da open jedoch kein blockierender Befehl ist (schätze ich), setzt Subversion sofort im Terminal fort, als ob nichts wäre trat ein. Mit anderen Worten, es wartet nicht auf die Bearbeitungen des Benutzers.

Ich kann nicht herausfinden, ob open aufgerufen werden kann, damit es blockiert, oder ob es einen anderen Befehl in OSX Terminal gibt. Natürlich weiß ich nicht, ob das Blockieren überhaupt funktionieren würde, denn was genau würde es blockieren?

1

2 Antworten auf die Frage

5
Doug Harris

Sie sollten Ihren EDITOR auf emacsclientEmacs setzen. Dies ist eine Client-Schnittstelle zum internen Server von emacs.

Konfiguration (einmalig):

  • gesetzt $EDITORzu emacsclient:export EDITOR=emacsclient
  • Legen Sie (server-start)Ihre .emacsStartdatei ein

Wenn Sie Ihre laufen svn commit, crontaboder anderen Befehl, der verwendet $EDITOR, wird die Datei in Emacs öffnen. Wenn Sie fertig bearbeiten, treffen C-x #Steuerung zurückzukehren svn, crontabusw.

Sehen Sie sich diese Frage zur Stackoverflow- und Emacs-Dokumentation auf dem Emacs-Server und zum Aufruf des Emacs-Clients an .


Update: Ich benutze einen Standard-Emacs-Build, nicht Aquamacs, also habe ich gegoogelt, ob es spezielle Tricks für Aquamacs und Emacsclient gibt. In den FAQs zu Aquacacs im Emacs-Wiki habe ich dieses Snippet gefunden:

Um die Befehlszeilentools „aquamacs“ und „emacsclient“ zu verwenden, klicken Sie in der Menüleiste von Aquamacs auf Tools-> Install Command Line Tools. Wenn Sie ein Upgrade von Aquamacs durchführen, müssen Sie möglicherweise die Befehlszeilentools erneut installieren.

Ich stelle mir vor, dass Sie, wenn Sie dies nicht tun, das emacsclientmit OS X gelieferte verwenden und möglicherweise nicht die richtige Nachricht an Aquamacs.re senden, um die Befehlszeilen-Tools zu installieren.

4
revher

This seems to work:

export EDITOR="/usr/bin/open -n -W -a /Applications/Aquamacs.app" 
Um `Aquamacs` mit Git zu verwenden, musste ich dies anwenden und` core.editor` auf `emacsclient` setzen. Dror vor 11 Jahren 0