Ich habe ein Programm, das Text an andere Programme zur weiteren Analyse senden kann (zB sed, grep, etc). Ich möchte, dass es die Daten an Emacs sendet und dort analysiert. Wie würde ich das tun? EmacsClient verwendet standardmäßig einen Dateinamen, das ist eine Datenfolge, keine Datei und ich möchte wirklich keine Dateien erstellen und löschen, nur um Daten an Emacs zu senden.Erstellen eines neuen Puffers mit Text unter Verwendung von EmacsClient
EmacsClient verfügt über eine Befehlszeilenoption "eval", mit der Sie Lisp-Code statt geöffneter Dateien ausführen können. Gibt es eine einfache Lisp-Funktion, die einen neuen Puffer mit dem angegebenen Text öffnet?
Edit: Ich bin auf der Suche nach so etwas wie:
emacsclientw.exe -eval (open-new-buffer 'hello world')
Und ein neuer Puffer mit dem Wort automatisch „Hallo Welt“ erscheinen würde. Ich bin mir nicht sicher, wie der Name des Puffers eingestellt werden würde. Hoffentlich etwas selbst nummeriert.
Wenn jemand anderes Schwierigkeiten damit hat, dies in EmacsW32 zu erledigen, musste ich die einfachen Anführungszeichen gegen doppelte Anführungszeichen tauschen und die doppelten Anführungszeichen innerhalb des Befehls: emacsclient -e "(open-buffer-) mit \ "Hallo, world \") " –
@OtherMichael, was Sie in Arbeit funktioniert gut für mich in Windows, aber ich laufe von einer Cygwin-Shell. Ich weiß nicht, wie man Dinge an einer allgemeinen DOS-Eingabeaufforderung anpassen kann - wenn ich es von der DOS-Eingabeaufforderung aus versuche, erhalte ich den Fehler "emacsclient.exe: Kein Socket oder alternativer Editor" (natürlich habe ich die Emacs von Cygwin gestartet Shell, die das verursachen kann). –
Von der Cygwin-Shell starten Sie EmacsW32 oder Cygwin Emacs? –