J'essaie d'écrire une fonction qui prendra un en-tête et le ré-archivera à un emplacement spécifique. Le doc pour org-refile
est
(org-refile &optional GOTO DEFAULT-BUFFER RFLOC MSG)
et RFLOC
est
RFLOC can be a refile location obtained in a different way.
mais je n'ai aucune idée de ce que serait "une manière différente" et je google depuis une demi-journée et je n'ai vu aucun exemple. Je connais le fichier et je connais le titre de la cible mais je ne connais pas la syntaxe pour le former en ce qu'il veut. Le plus proche que j'ai obtenu est:
(org-refile nil #("~/Org/bookmarks.org")
qui me demandera alors le titre, mais bien sûr, je ne veux pas qu'il me demande, je veux le fournir.
Je suis nouveau sur elisp et j'ai deviné toutes les syntaxes auxquelles je peux penser. Quelqu'un sait-il comment exprimer cela?
(let* ( (org-archive-location "/path/to/org-file::* NAME_OF_HEADING") (org-archive-save-context-info nil)) (org-archive-subtree))
je ne mettrai probablement pas cela dans une réponse depuis que vous avez posé des questions org-refile
, mais l'extrait de code fait très bien le travail. Les deux colons sont nécessaires. Je l'utilise tout le temps et j'ai même créé une version personnalisée de org-archive-subtree
pour supprimer le message afin que je n'en ai pas des centaines lorsque je réorganise automatiquement tout mon fichier org.