Come menziona @kaushalmodi nei commenti, è possibile utilizzare (org) Easy Templatesper accelerare l'inserimento di diversi tipi di blocchi.
La procedura generale consiste nell'inserire <seguita da un selettore di modelli (di solito una singola lettera) su una riga altrimenti vuota e premere TAB.
Il selettore di modello per un modello di blocco di origine generico è s, quindi digitare <sseguito da TABti darà questo:
#+BEGIN_SRC
#+END_SRC
Il punto verrà posizionato alla fine della prima riga.
Questa è una buona prima approssimazione di ciò che vuoi ottenere, ma questo è Emacs, quindi cerchiamo di migliorarlo!
È possibile definire modelli personalizzati aggiungendo una o più voci a una variabile chiamata org-structure-template-alist. Per esempio:
(add-to-list 'org-structure-template-alist '("n" "#+NAME: ?"))
Questo codice aggiunge un #+NAME:modello a org-structure-template-alist, usando ncome selettore di modelli. Dopo l'espansione questo punto modello verrà posizionato nella posizione di ?.
Se assegni sempre un nome ai blocchi di codice, puoi anche sovrascrivere la versione originale del modello di blocco di origine con una versione estesa che include la #+NAME:riga:
(add-to-list 'org-structure-template-alist
'("s" "#+NAME: ?\n#+BEGIN_SRC \n\n#+END_SRC"))
Digitando <sseguito da TABti darà quindi:
#+NAME:
#+BEGIN_SRC
#+END_SRC
Questa è solo la punta dell'iceberg; puoi utilizzare un approccio simile per definire modelli aggiuntivi per blocchi di codice specifici della lingua, blocchi di codice con argomenti di intestazione specifici, ecc.
hydrapacchetto: blogpost (3) Un altro frammento per un facile inserimento del blocco del codice sorgente dell'organizzazione.