Ustaw domyślny język bloków kodu w trybie orgmode

14

Czy istnieje sposób zdefiniowania domyślnego języka bloków kodu w trybie organizacji w nagłówku dokumentacji? Zwykle w jednym organie używam tylko jednego języka programowania, więc pisanie zawsze jest męczące

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

Byłoby miło móc coś takiego zrobić

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

[...]

#+BEGIN_SRC
[...]
#+END_SRC

Czy jest jakiś sposób na osiągnięcie tego?

andreas-h
źródło
2
To nie odpowiada na pytanie, jak ustawić domyślny język, ale na pewno zaoszczędzi Ci dużo pisania. Wpisanie, <sa następnie TABklawisz, automatycznie rozwinie się w strukturę bloku kodu źródłowego, a następnie wystarczy wpisać python, przejść do następnego wiersza i wypełnić kod.
Kaushal Modi
Sprawdź orgmode.org/manual/… . Wydaje się, że wymagana jest specyfikacja języka. Czy opublikowałeś post na liście organizacji? Jeśli nie, zrobię to, jest to interesujące i prawdopodobnie wspólne pragnienie.
grettke
Istnieją już dwie odpowiedzi. lists.gnu.org/archive/html/emacs-orgmode/2015-02/msg00604.html
grettke
Dzięki, @grettke, za inicjatywę opublikowania na liście mailingowej.
andreas-h
Wskazówka z powyższej listy mailingowej (jeśli ktoś szuka rozwiązania, które nie wymaga posiadania #+BEGIN_SRC pythonw .orgpliku) to prawdopodobnie trzeba zmodyfikować informacje o org-babel-get-src-block-info, aby zwróciło wartość domyślną jest niczym po # + BEGIN_SRC
ShreevatsaR

Odpowiedzi:

10

Ta odpowiedź zapewnia wykonalne obejście.

Najłatwiejszym sposobem na to byłoby użycie łatwych szablonów . Dodaj swoje szablony do org-structure-template-alist:

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

Znak zapytania wskazuje pozycję kursora. <pyW takim przypadku wstaw blok kodu za pomocą TAB.

mutbuerger
źródło
2
Twoja odpowiedź brzmi: jak dodawać nowe szablony dla rozszerzenia, a nie domyślny język dla bloku źródłowego.
grettke
Chociaż rozwiązuje to problem ułatwiania wprowadzania takich bloków, nie rozwiązuje „problemu”, który nadal zawiera plik źródłowy, #+BEGIN_SRC pythona nie tylko #+BEGIN_SRC- powoduje to na przykład, że plik źródłowy jest nieco trudniejszy do odczytania.
ShreevatsaR