Ho un programma che può inviare del testo a qualsiasi altro programma per ulteriori analisi (ad es. Sed, grep, ecc.). Mi piacerebbe che mandasse i dati a Emacs e faccia l'analisi lì. Come potrei farlo? EmacsClient prende un nome di file per impostazione predefinita, questa è una stringa di dati non un file e io davvero non voglio creare ed eliminare file solo per inviare dati ad Emacs.Creazione di un nuovo buffer con testo utilizzando EmacsClient
EmacsClient ha un'opzione di riga di comando "eval" che consente di eseguire codice Lisp anziché file aperti. C'è una semplice funzione lisp che aprirà un nuovo buffer con il testo specificato?
Edit: Sto cercando qualcosa di simile:
emacsclientw.exe -eval (open-new-buffer 'hello world')
E un nuovo buffer sembrerebbe automaticamente con la parola "ciao mondo". Non sono sicuro di come verrà impostato il nome del buffer. Spero che qualcosa sia numerato automaticamente.
Se qualcun altro ha problemi a far funzionare questo in EmacsW32, ho dovuto scambiare le virgolette singole per virgolette e sfuggire alle doppie virgolette all'interno del comando: emacsclient -e "(open-buffer- con \ "ciao, mondo \") " –
@OtherMichael quello che hai messo funziona bene per me in Windows, comunque sto scappando da una shell cygwin. Non so come personalizzare le cose per funzionare da un prompt generale di DOS - quando provo dal prompt di DOS ottengo un errore "emacsclient.exe: nessun socket o editor alternativo" (ovviamente ho avviato Emacs dal cygwin shell, che può causare quello). –
Dalla shell cygwin, stai avviando EmacsW32 o cygwin emacs? –