Definir idioma padrão para blocos de código no modo org

14

Existe uma maneira de definir um idioma padrão para blocos de código no modo organizacional no cabeçalho do documento? Normalmente, em um documento organizacional, eu uso apenas uma linguagem de programação, por isso é cansativo escrever sempre

#+BEGIN_SRC python
[...]
#+END_SRC

Seria bom poder fazer algo como

#+PROPERTY: header-args :session *mysession* :tangle yes :results silent :language python

[...]

#+BEGIN_SRC
[...]
#+END_SRC

Existe alguma maneira de conseguir isso?

andreas-h
fonte
2
Isso não responde à pergunta sobre como definir o idioma padrão, mas certamente poupará bastante digitação. A digitação <sseguida pela TABtecla se expandirá automaticamente para a estrutura do bloco do código-fonte e, em seguida, basta digitar python, ir para a próxima linha e preencher o código.
27515 Kaushal Modi
Confira orgmode.org/manual/… . Parece que a especificação do idioma é necessária. Você postou na lista de organizações? Se você não o fez, é um desejo interessante e provavelmente comum.
grettke
Obrigado, @grettke, por tomar a iniciativa de postar na lista de discussão.
andreas-h
A dica da lista de discussão acima (se alguém estiver procurando por uma solução que não envolva a inclusão #+BEGIN_SRC pythonno .orgarquivo) é Provavelmente você precisaria modificar org-babel-get-src-block-info para que retorne um padrão quando houver é nada depois de # + BEGIN_SRC
#

Respostas:

10

Esta resposta fornece uma solução alternativa viável.

A maneira mais fácil de fazer isso seria usar modelos fáceis . Adicione seus modelos ao org-structure-template-alist:

(add-to-list 'org-structure-template-alist
         '("py" "#+BEGIN_SRC python :results output\n?\n#+END_SRC" ""))

O ponto de interrogação indica a posição do cursor. Insira o bloco de código com <pyTAB neste caso.

mutbuerger
fonte
2
Sua resposta é como adicionar novos modelos para expansão, para não padronizar o idioma de um bloco de origem.
grettke
Embora isso resolva o problema de facilitar a inserção de tais blocos, não resolve o "problema" que o arquivo de origem ainda contém em #+BEGIN_SRC pythonvez de apenas #+BEGIN_SRC- isso torna o arquivo de origem um pouco mais difícil de ler, por exemplo.
ShreevatsaR