MISE À JOUR:
Je n'ai pas remarqué que le mode Org 9.2 a changé le mécanisme d'expansion du modèle, où il org-structure-template-alist
ne s'applique qu'aux blocs définis par "#+BEGIN_"
et "#+END_"
. Et l'entrée comme ("p" ":PROPERTIES:?:END:")
n'est plus acceptée.
Comme mentionné dans le lien ci-dessus, d'autres modèles "complexes" peuvent être définis par fonction tempo-define-template
, et org-tempo doit être chargé ( (require 'org-tempo)
). En fait, les entrées de org-structure-template-alist
sont converties en org-tempo-tags
via tempo-define-template
par org-tempo
et par org-tempo-tags
défaut:
(("<i" . tempo-template-org-index)
("<A" . tempo-template-org-ascii)
("<H" . tempo-template-org-html)
("<L" . tempo-template-org-latex)
("<v" . tempo-template-org-verse)
("<s" . tempo-template-org-src)
("<q" . tempo-template-org-quote)
("<l" . tempo-template-org-export-latex)
("<h" . tempo-template-org-export-html)
("<E" . tempo-template-org-export)
("<e" . tempo-template-org-example)
("<C" . tempo-template-org-comment)
("<c" . tempo-template-org-center)
("<a" . tempo-template-org-export-ascii)
("<I" . tempo-template-org-include))
Pour votre cas, vous pouvez définir un modèle en:
(tempo-define-template "my-property"
'(":PROPERTIES:" p ":END:" >)
"<p"
"Insert a property tempate")
La réponse ci-dessous ne fonctionne que pour la version en mode Org antérieure à 9.2
Oui, vous pouvez y ajouter une entrée comme ceci:
(add-to-list 'org-structure-template-alist '("p" ":PROPERTIES:?:END:"))
Ensuite, dans le fichier org, vous tapez <p
et TAB
, il se développera en propriété et laissera le point à la position de ?
.
Et vous pouvez trouver plus de détails dans la documentation de la variable en tapant C-h v org-structure-template-alist RET
.
>
symbole surtempo-define-template
une faute de frappe? Sinon ... Quel est son rôle dans la définition?tempo-define-template
est un defun intégré, voir la docstring pour plus de détails.La fréquence à laquelle ils introduisent des changements incompatibles dans la personnalisation du mode org est vraiment dommage.
Le code suivant vous donne les anciens modèles de structure de org-mode avant la version 9.2. La fonction
org-complete-expand-structure-template
est une copie pure de la version 9.1 etorg-try-structure-completion
est une version légèrement modifiée de celle de 9.1. (J'y ai ajouté une vérification de type.)Après avoir installé ce code, vous pouvez simplement réutiliser votre ancien modèle
(add-to-list 'org-structure-template-alist '("p" ":PROPERTIES:?:END:"))
.
la source