ОНОВЛЕННЯ:
Не помічав, що Org Mode 9.2 змінив механізм розширення шаблону, де org-structure-template-alist
лише для блоків, визначених "#+BEGIN_"
і "#+END_"
. І такий вхід ("p" ":PROPERTIES:?:END:")
більше не приймається.
Як було зазначено у вищенаведеному посиланні, інший "складний" шаблон може бути визначений функцією tempo-define-template
, і org-tempo повинен бути завантажений ( (require 'org-tempo)
). На насправді записи про org-structure-template-alist
перетворюються в org-tempo-tags
через tempo-define-template
по org-tempo
, і по org-tempo-tags
замовчуванням:
(("<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))
Для вашого випадку ви можете визначити шаблон:
(tempo-define-template "my-property"
'(":PROPERTIES:" p ":END:" >)
"<p"
"Insert a property tempate")
Нижче відповідь працює лише для версії Org режиму до 9.2
Так, ви можете додати запис до нього так:
(add-to-list 'org-structure-template-alist '("p" ":PROPERTIES:?:END:"))
Тоді в org файл ви вводите <p
і TAB
, він розшириться до властивості і залишить крапку в позиції ?
.
І ви можете знайти більш детальну інформацію в документації змінної, ввівши C-h v org-structure-template-alist RET
.
>
символ наtempo-define-template
друку? Якщо ні .... Яка роль його у визначенні?