Установить язык по умолчанию для кодовых блоков в orgmode


14

Есть ли способ определить язык по умолчанию для блоков кода режима орг в заголовке документа? Обычно в одном орг-документе я использую только один язык программирования, поэтому постоянно писать

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

Было бы неплохо иметь возможность сделать что-то вроде

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

[...]

#+BEGIN_SRC
[...]
#+END_SRC

Есть ли способ добиться этого?


2
Это не ответит на вопрос о том, как установить язык по умолчанию, но определенно сэкономит вам много времени на печатание. Ввод, <sсопровождаемый TABклавишей, автоматически расширится до блочной структуры исходного кода, а затем вам просто нужно будет набрать текст python, перейти к следующей строке и заполнить код.
Каушал Моди

Проверьте orgmode.org/manual/… . Похоже, языковая спецификация обязательна. Вы разместили в списке организации? Если нет, то это будет интересное и, вероятно, общее желание.
grettke


Спасибо, @grettke, за инициативу опубликовать в списке рассылки.
Андреас-ч

Подсказка из списка рассылки выше (если вы ищете решение, которое не предполагает наличия #+BEGIN_SRC pythonв .orgфайле), вероятно, вам придется изменить org-babel-get-src-block-info, чтобы он возвращал значение по умолчанию, когда ничего нет после # + BEGIN_SRC
ShreevatsaR

Ответы:


10

Этот ответ обеспечивает работоспособное решение.

Самый простой способ сделать это - использовать простые шаблоны . Добавьте свои шаблоны в org-structure-template-alist:

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

Знак вопроса указывает на позицию курсора. Вставьте блок кода с <pyTAB в этом случае.


2
Ваш ответ - как добавить новые шаблоны для расширения, а не использовать язык по умолчанию для исходного блока.
grettke

Хотя это решает проблему упрощения ввода таких блоков, это не решает «проблему», которую исходный файл все еще содержит #+BEGIN_SRC pythonвместо простого #+BEGIN_SRC- это, например, делает исходный файл немного труднее для чтения.
ShreevatsaR
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.