AKTUALIZACJA:
Nie zauważyłem, że Org Mode 9.2 zmienił mechanizm rozszerzania szablonów, gdzie org-structure-template-alist
dotyczy tylko bloków zdefiniowanych przez "#+BEGIN_"
i "#+END_"
. I wejście jak ("p" ":PROPERTIES:?:END:")
nie jest już akceptowane.
Jak wspomniano w powyższym linku, inny „złożony” szablon może być zdefiniowany przez funkcję tempo-define-template
i należy załadować org-tempo ( (require 'org-tempo)
). W rzeczywistości wpisy org-structure-template-alist
są konwertowane na org-tempo-tags
via tempo-define-template
przez org-tempo
i org-tempo-tags
domyślnie są to:
(("<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))
W twoim przypadku możesz zdefiniować szablon poprzez:
(tempo-define-template "my-property"
'(":PROPERTIES:" p ":END:" >)
"<p"
"Insert a property tempate")
Poniższa odpowiedź działa tylko dla wersji trybu Org wcześniejszej niż 9.2
Tak, możesz dodać do niego wpis w następujący sposób:
(add-to-list 'org-structure-template-alist '("p" ":PROPERTIES:?:END:"))
Następnie w pliku org wpisujesz <p
i TAB
, rozwinie się ono do właściwości i pozostawi punkt na pozycji ?
.
Więcej szczegółów znajdziesz w dokumentacji zmiennej, pisząc C-h v org-structure-template-alist RET
.
>
symbol jest natempo-define-template
literówce? Jeśli nie ... Jaka jest rola tego w definicji?tempo-define-template
jest wbudowany w defun, zobacz docstring szczegóły.Szkoda, jak często wprowadzają niekompatybilne zmiany w dostosowywaniu trybu org.
Poniższy kod przedstawia stare szablony struktur trybu org przed wersją 9.2 wstecz. Ta funkcja
org-complete-expand-structure-template
jest czystą kopią z wersji 9.1 iorg-try-structure-completion
jest nieco zmodyfikowaną wersją tej z wersji 9.1. (Dodałem tam kontrolę typu).Po zainstalowaniu tego kodu możesz
(add-to-list 'org-structure-template-alist '("p" ":PROPERTIES:?:END:"))
ponownie użyć starego szablonu .
źródło