Me gustaría escribir mis propias notas / pruebas / código en org y luego usarlas org-bable-tangle
para producir archivos fuente. Sin embargo, todos estos archivos están sujetos al control de versiones y, por lo tanto, están sujetos a cambios desde fuera de mi entorno de organización.
Me gustaría poder tener una serie de src
bloques y luego enredarme en un montón de archivos diferentes, cada uno de los cuales se comprometería con el control de versiones. Pero al mismo tiempo, ser capaz de "desenredar" cada uno de estos archivos de nuevo en mi archivo de organización después de extraer cualquier cambio del control de versiones.
¿Hay alguna forma directa de hacer esto? Ahora estoy considerando jugar coninsert-file-contents
Respuestas:
Si lo es
org-babel-detangle
.Debe configurar el
comments
argumento de encabezadolink
para que funcione, por ejemplo,luego use
M-x org-babel-tangle
para exportar el bloque de código,hello.rb
se creará un nuevo archivo llamado , debe tener contenidos similares como los siguientesPor último, abierta
hello.rb
en Emacs, el cambiohello
ahello world
, y correrM-x org-babel-detangle
enhello.rb
buffer 's. El archivo de la organización se actualizará.fuente
org-babel-detangle
la cadena de documentación para comprender el propósito y el uso.insert-file-contents
?También hay org-tanglesync , que tiene un método de sincronización mucho más simple que
org-babel-detangle
Esencialmente, si un bloque está enredado en un archivo externo, entonces cada vez que se edita ese bloque, también se verifica el archivo externo, y si se detecta un diferencial, se le solicita al usuario que rechace o extraiga los cambios externos en el bloque org src.
Esto también tiene funciones para procesar automáticamente todos los bloques enredados en un búfer. Espero que ayude.
fuente