È possibile aggrovigliare un file org dalla riga di comando?


15

Vorrei gestire il groviglio dei miei file organizzativi con un Makefile. Anche se non riesco a trovare alcuna informazione su come aggrovigliare i file dalla riga di comando.

Risposte:


12

Puoi usare qualcosa come:

emacs --batch --eval "(require 'org)" --eval '(org-babel-tangle-file "file-to-tangle.org")'

(Quella quotazione della shell è pensata per Bash, aggiusta se usi una shell diversa.)

EDIT: Grazie a @SkydiveMike per aver sottolineato che avevo scritto per errore org-babel-tangleinvece di org-babel-tangle-file.


L'ho provato e ho ricevuto un Wrong type argument: stringp, nilmessaggio di errore, qualche suggerimento su ciò che forse sto facendo di sbagliato?
lookyhooky,

1
Ho anche bisogno della -Lbandiera per aggiungere la directory corrente al percorso di caricamento e -l file-to-tangle.orgper caricare il file prima di tentare di aggrovigliarlo.
lookyhooky,

8
emacs --batch -l org foo.org -f org-babel-tangleo emacs --batch -l org --eval '(org-babel-tangle-file "foo.org")'funziona per me.
xuchunyang,

1
Per uno script Bash, questo è utile:emacs --batch -l org --eval "(org-babel-tangle-file \"$1\")"
pentavalentcarbon

1
Per completezza, la soluzione di xuchunyang funziona (rispetto all'originale) perché ha org-babel-tangle-file (che accetta un argomento FILE) rispetto a org-babel-tangle che funziona sul buffer corrente.
SkydiveMike il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.