ऑर्ग-मोड में सादे सूची आइटम के तहत इंडेंट कैसे रखें


12

जबकि नियमित पैराग्राफ सादे सूची आइटम (पहली पंक्ति को इंडेंट करने के लिए [स्पेस] बार का उपयोग करते हुए बाकी को साथ ले जाते हैं) के तहत खुशी से इंडेंट होते हैं मैंने देखा है कि कोड ब्लॉक सहयोग करना पसंद नहीं करते हैं। क्या इसको ठीक करने का कोई तरीका है?

अभी, मेरे पास यही है:

- [ ] My plain list item

  Nicely indented paragraph, blah blah blah blah blah blah blah blah
  blah blah blah blah blah blah blah blah blah blah blah blah blah blah
  blah blah blah.

  #+BEGIN_SRC elisp
; Uncooperative code block -> notice that only the first line indents.
(lambda () (do-something-amazing))
(blah-blah-blah)
#+END_SRC

मैं इसे प्राप्त करना चाहूंगा:

- [ ] My plain list item

  Nicely indented paragraph, blah blah blah blah blah blah blah blah
  blah blah blah blah blah blah blah blah blah blah blah blah blah blah
  blah blah blah.

  #+BEGIN_SRC elisp
  ; Happily indented code block -> notice that all code follows with :)
  (lambda () (do-something-amazing))
  (blah-blah-blah)
  #+END_SRC

मैं दृढ़ता से इसके उपयोग पर विचार करूंगा org-indent-mode
वामासा 17

धन्यवाद। मैं org- इंडेंट-मोड का उपयोग कर रहा हूं। स्रोत कोड के ब्लॉक को छोड़कर यह सब कुछ के लिए बहुत अच्छा काम करता है ... मैं कुछ गलत कर सकता हूं ... क्या आप स्रोत कोड को org- इंडेंट के साथ इंडेंट करने में सक्षम हैं?
एडम

मुझे वह संशोधित करने दें ... स्रोत कोड मेरे लिए इंडेंट फाइन है, लेकिन केवल हेडर के तहत, सादे सूचियों के तहत नहीं ...
एडम

(org-list-in-valid-context-p)src ब्लॉक में आपको बताया जाएगा कि, डिफ़ॉल्ट रूप से, org नहीं चाहता है कि src ब्लॉक संदर्भ हो जहां सूचियों की अनुमति है। फेरबदल org-list-forbidden-blocksकि बदल सकते हैं, यह एक नहीं है defcustom, हालांकि।
म्यूटबर्गर

क्या मेरे जवाब से मदद मिली? मुझे अपना वर्तमान उत्तर अपडेट करने या नया उत्तर जोड़ने में खुशी हो रही है। आपका सवाल पूछने के लिए धन्यवाद!
मेलियोरैटस

जवाबों:


1

इसे इस्तेमाल करे

मैं सादे सूचियों के तहत src ब्लॉकों के इंडेंटेशन को ठीक करने के लिए निम्न विधियों का उपयोग करता हूं। इंडेंटेशन सही ढंग से सेटअप होने के बाद, हमेशा उपयोग करें M-S-leftऔर M-S-rightसूची इंडेंटेशन को बनाए रखने के लिए।

नए कोड ब्लॉक के लिए प्रारूपण ठीक करें

पहले इंडेंट कर्सर और फिर <sएक सादे सूची के तहत एक नया src ब्लॉक बनाते समय अंतर्निहित टेम्पलेट का उपयोग करें ।

जैसे tab <s tab language return

- [ ] My plain list item

  Nicely indented paragraph, blah blah blah blah blah blah blah blah
  blah blah blah blah blah blah blah blah blah blah blah blah blah blah
  blah blah blah.

  <s

मौजूदा कोड ब्लॉक के लिए प्रारूपण ठीक करें

चरण 1 - वांछित इंडेंट कॉलम संख्या का पता लगाएं। नीचे दिए गए उदाहरण के लिए 2


- [ ] My plain list item

  Nicely indented paragraph, blah blah blah blah blah blah blah blah
  blah blah blah blah blah blah blah blah blah blah blah blah blah blah
  blah blah blah.

  #+BEGIN_SRC elisp
; Uncooperative code block -> notice that only the first line indents.
(lambda () (do-something-amazing))
(blah-blah-blah)
#+END_SRC

चरण 2 - #+END_SRCलाइन की शुरुआत में कर्सर रखें फिर करें M-xindent-to-column 2 return। जिसके बाद आपको निम्नलिखित देखना चाहिए:


- [ ] My plain list item

  Nicely indented paragraph, blah blah blah blah blah blah blah blah
  blah blah blah blah blah blah blah blah blah blah blah blah blah blah
  blah blah blah.

  #+BEGIN_SRC elisp
; Uncooperative code block -> notice that only the first line indents.
(lambda () (do-something-amazing))
(blah-blah-blah)
  #+END_SRC

चरण 3 - कर्सर को ब्लॉक के अंदर रखकर और उपयोग करके src ब्लॉक को खोलें और बंद करें C-' C-'


- [ ] My plain list item

  Nicely indented paragraph, blah blah blah blah blah blah blah blah
  blah blah blah blah blah blah blah blah blah blah blah blah blah blah
  blah blah blah.

  #+BEGIN_SRC elisp
   ; Uncooperative code block -> notice that only the first line indents.
   (lambda () (do-something-amazing))
   (blah-blah-blah)
  #+END_SRC

आपका सवाल पूछने के लिए धन्यवाद।
उम्मीद है कि मदद की!


इस उत्तर का उपयोग करके परीक्षण किया गया था:
GNU Emacs 25.3.1
org-mode: 9.1.13


1
स्वयं इंडेंट का पता लगाने के लिए वैकल्पिक: सूची की शुरुआत में (आइटम), M-hपूरे आइटम को चिह्नित करने के लिए टाइप करें और फिर C-M-` to reindent that region. That sorts out the position of the END_SRC` मार्कर, लेकिन फिर भी आपको वास्तविक कोड के इंडेंटिंग के लिए अपनी चाल करनी होगी।
एंड्रयू स्वैन

@AndrewSwann - यह एक अच्छा समाधान है! धन्यवाद!
Melioratus
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.