ตั้งค่าภาษาเริ่มต้นสำหรับการบล็อกรหัสใน 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ไปที่บรรทัดถัดไปและกรอกรหัส
Kaushal Modi

ตรวจสอบorgmode.org/manual/... ดูเหมือนว่าต้องการข้อมูลจำเพาะภาษา คุณโพสต์ในรายการองค์กรหรือไม่ ถ้าคุณทำไม่ได้ฉันจะทำสิ่งนี้เป็นความปรารถนาที่น่าสนใจและเป็นเรื่องปกติ
grettke

มีสองคำตอบแล้ว lists.gnu.org/archive/html/emacs-orgmode/2015-02/msg00604.html
grettke

ขอบคุณ @grettke สำหรับการริเริ่มที่จะโพสต์ไปยังรายชื่อผู้รับจดหมาย
andreas-h

คำใบ้จากรายการทางด้านบน (ถ้าใครที่กำลังมองหาวิธีการแก้ปัญหาที่ไม่เกี่ยวข้องกับการมี#+BEGIN_SRC pythonอยู่ใน.orgไฟล์) เป็นคุณอาจจะมีการปรับเปลี่ยนองค์กร-Babel-GET-src-บล็อกข้อมูลเพื่อที่จะส่งกลับเริ่มต้นเมื่อมี ไม่มีอะไรหลังจาก # + 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.