Tetapkan bahasa default untuk blok kode dalam orgmode

14

Apakah ada cara untuk mendefinisikan bahasa default untuk blok kode mode-org di header dokumen? Biasanya, dalam satu dokumen org, saya hanya menggunakan satu bahasa pemrograman, jadi membosankan untuk selalu menulis

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

Akan menyenangkan bisa melakukan sesuatu seperti

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

[...]

#+BEGIN_SRC
[...]
#+END_SRC

Apakah ada cara untuk mencapai hal ini?

andreas-h
sumber
2
Ini tidak menjawab pertanyaan tentang cara mengatur bahasa default, tetapi pasti akan menghemat banyak pengetikan. Mengetik <sdiikuti oleh TABkunci akan secara otomatis memperluas ke struktur blok kode sumber dan kemudian Anda hanya perlu mengetik python, pergi ke baris berikutnya dan isi kode.
Kaushal Modi
Lihat orgmode.org/manual/… . Sepertinya spesifikasi bahasa diperlukan. Apakah Anda memposting di daftar org? Jika tidak, saya akan, ini adalah keinginan yang menarik dan mungkin umum.
grettke
Terima kasih, @grettke, karena telah berinisiatif memposting ke milis.
andreas-h
Petunjuk dari milis di atas (jika seseorang mencari solusi yang tidak melibatkan memiliki #+BEGIN_SRC pythondalam .orgfile) adalah Mungkin Anda harus memodifikasi org-babel-get-src-block-info sehingga mengembalikan default ketika ada tidak ada artinya setelah # + BEGIN_SRC
ShreevatsaR

Jawaban:

10

Jawaban ini memberikan solusi yang bisa diterapkan.

Cara termudah untuk melakukan ini adalah menggunakan templat yang mudah . Tambahkan template Anda ke org-structure-template-alist:

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

Tanda tanya menunjukkan posisi kursor. Masukkan blok kode dengan <pyTAB dalam kasus ini.

mutbuerger
sumber
2
Jawaban Anda adalah bagaimana cara menambahkan template baru untuk ekspansi, bukan untuk default bahasa untuk blok sumber.
grettke
Meskipun ini memecahkan masalah membuatnya mudah untuk masuk blok seperti itu, itu tidak menyelesaikan "masalah" yang masih berisi file sumber #+BEGIN_SRC pythonbukan hanya #+BEGIN_SRC- ini membuat file sumber sedikit lebih sulit untuk dibaca, misalnya.
ShreevatsaR