Chciałbym pisać własne notatki / testy / kod w org, a następnie używać go org-bable-tangle
do tworzenia plików źródłowych. Jednak wszystkie te pliki podlegają kontroli wersji, a zatem mogą ulec zmianie spoza mojego środowiska organizacyjnego.
Chciałbym mieć kilka src
bloków, a następnie splątać kilka różnych plików, z których każdy będzie podlegał kontroli wersji. Ale jednocześnie mogę „rozplątać” każdy z tych plików z powrotem w moim pliku org po usunięciu jakichkolwiek zmian z kontroli wersji.
Czy jest jakiś prosty sposób to zrobić? Zastanawiam się teraz nad grąinsert-file-contents
Odpowiedzi:
Tak to jest
org-babel-detangle
.Musisz ustawić
comments
argument nagłówka,link
aby działał, na przykładnastępnie użyj
M-x org-babel-tangle
do wyeksportowania bloku kodu,hello.rb
zostanie utworzony nowy plik o nazwie , który powinien mieć podobną zawartość, jak poniżejWreszcie, otwarty
hello.rb
w Emacs, zmianyhello
dohello world
i uruchomićM-x org-babel-detangle
whello.rb
„s bufora. Plik org zostanie zaktualizowanyźródło
org-babel-detangle
, aby zrozumieć cel i sposób użycia.insert-file-contents
?Istnieje również org-tanglesync , który ma znacznie prostszą metodę synchronizacji niż
org-babel-detangle
Zasadniczo, jeśli blok jest splątany z plikiem zewnętrznym, to za każdym razem, gdy ten blok jest edytowany, sprawdzany jest również plik zewnętrzny, a jeśli wykryto różnicę, użytkownik jest monitowany o odrzucenie lub pobranie zmian zewnętrznych w bloku org src.
Ma również funkcje automatycznego przetwarzania wszystkich splątanych bloków w buforze. Mam nadzieję, że to pomoże.
źródło