Как @kaushalmodi упоминает в комментариях, вы можете использовать, (org) Easy Templatesчтобы ускорить вставку различных типов блоков.
Общая процедура является вставка с <последующим селектор шаблона (обычно одной буквой) на другой пустой строке и нажмите TAB.
Селектор шаблонов для общего шаблона исходного блока есть s, поэтому <sпосле ввода введите TAB:
#+BEGIN_SRC
#+END_SRC
Точка будет расположена в конце первой линии.
Это хорошее первое приближение к тому, чего вы хотите достичь, но это Emacs, так что давайте сделаем это лучше!
Вы можете определить пользовательские шаблоны, добавив одну или несколько записей в переменную с именем org-structure-template-alist. Например:
(add-to-list 'org-structure-template-alist '("n" "#+NAME: ?"))
Этот код добавляет #+NAME:шаблон org-structure-template-alist, используя его nкак селектор шаблона. После расширения этого шаблона точка будет располагаться в месте расположения ?.
Если вы всегда называете свои блоки кода, вы также можете перезаписать исходную версию шаблона исходного блока расширенной версией, содержащей #+NAME:строку:
(add-to-list 'org-structure-template-alist
'("s" "#+NAME: ?\n#+BEGIN_SRC \n\n#+END_SRC"))
Набрав с <sпоследующим, TABвы получите:
#+NAME:
#+BEGIN_SRC
#+END_SRC
Это только верхушка айсберга; Вы можете использовать аналогичный подход для определения дополнительных шаблонов для блоков кода для конкретного языка, блоков кода с определенными аргументами заголовка и т. д.
hydrapackage: blogpost (3) еще один фрагмент для легкой вставки исходного блока org.