J'ai plusieurs blocs sources qui sont tous enchevêtrés dans le même fichier. Lorsque j'appelle C-c '
à l'intérieur d'un bloc, seul ce bloc spécifique est affiché dans un nouveau tampon.
Existe-t-il une possibilité d'afficher toutes les parties de ce fichier à l'intérieur de ce tampon (au lieu de juste cet extrait spécifique)?
Exemple:
#+begin_src emacs-lisp :tangle foo.el
(defvar *ok* "")
#+end_src
This is where the variable is stored...
#+begin_src emacs-lisp :tangle foo.el
(defun add-one (n) (+ 1 n))
#+end_src
Si je frappe C-c '
dans le premier bloc, j'obtiens:
(defvar *ok* "")
mais je veux:
(defvar *ok* "")
(defun add-one (n) (+ 1 n))
org-mode
org-babel
text-editing
beyeran
la source
la source
org-babel-tangle-jump-to-org
org-babel-detangle
qui prétendent le faire si vous vous embrouillez avec des commentaires de lien (:comments link
dans le bloc source). Je n'arrive pas à les faire fonctionner correctement.Réponses:
Ce que vous recherchez est une fonction d'édition bidirectionnelle qui survit aux modifications pendant l'aller-retour et pas seulement une sortie unidirectionnelle commune aux commandes d'enchevêtrement et de démêlage. La meilleure solution que je trouve est le texte lenticulaires qui est disponible dans le paquet lentic sur Melpa.
la source
Ajouter cet argument d'en-tête
Enchevêtrement. Vous pouvez maintenant modifier le fichier enchevêtré lui-même et émettre
org-babel-detangle
pour tout remettre dans le fichier org.la source
Je peux recommander org-tanglesync , qui a une méthode de synchronisation beaucoup plus simple que
org-babel-detangle
Essentiellement, si un bloc est enchevêtré dans un fichier externe, chaque fois que ce bloc est modifié, le fichier externe est également vérifié et si un diff est détecté, l'utilisateur est invité à rejeter ou à insérer les modifications externes dans le bloc org src. .
Cela a également des fonctions pour traiter automatiquement tous les blocs enchevêtrés dans un tampon.
la source