Como @kaushalmodi menciona nos comentários, você pode usar (org) Easy Templates
para acelerar a inserção de diferentes tipos de blocos.
O procedimento geral é inserir <
seguido por um seletor de modelo (geralmente uma única letra) em uma linha vazia e pressionar TAB.
O seletor de modelo para um modelo de bloco de origem genérico é s
, portanto, digitar <s
seguido de TABdará a você o seguinte:
#+BEGIN_SRC
#+END_SRC
O ponto será posicionado no final da primeira linha.
Esta é uma boa primeira aproximação do que você deseja alcançar, mas este é o Emacs, então vamos torná-lo melhor!
Você pode definir modelos personalizados adicionando uma ou mais entradas a uma variável chamada org-structure-template-alist
. Por exemplo:
(add-to-list 'org-structure-template-alist '("n" "#+NAME: ?"))
Esse código adiciona um #+NAME:
modelo a org-structure-template-alist
, usando n
como um seletor de modelo. Após a expansão, esse ponto do modelo será posicionado no local de ?
.
Se você sempre nomear seus blocos de código, também poderá sobrescrever a versão original do modelo de bloco de origem por uma versão estendida que inclua a #+NAME:
linha:
(add-to-list 'org-structure-template-alist
'("s" "#+NAME: ?\n#+BEGIN_SRC \n\n#+END_SRC"))
A digitação <s
seguida por TABdará a você:
#+NAME:
#+BEGIN_SRC
#+END_SRC
Esta é apenas a ponta do iceberg; você pode usar uma abordagem semelhante para definir modelos adicionais para blocos de código específicos de idioma, blocos de código com argumentos de cabeçalho específicos etc.
hydra
pacote: blogpost (3) Outro trecho para facilitar a inserção do bloco de origem.