Kuruluş kipinde düz liste öğeleri altında girintili kalma


12

Düzenli paragraflar mutlu düz liste öğeleri altında girintili olsa da (ilk satır girinti ile birlikte girinti için [BOŞLUK] çubuğunu kullanarak) kod blokları işbirliği yapmak sevmediğini fark ettim. Bunu düzeltmenin bir yolu var mı?

Şu anda sahip olduğum şey bu:

- [ ] 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

Bunu almak istiyorum:

- [ ] 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

Kullanımını kuvvetle düşünürdüm org-indent-mode.
wasamasa

Teşekkürler. Kuruluş girintisi modunu kullanıyorum. Kaynak kodu blokları hariç her şey için harika çalışıyor ... Yanlış bir şey yapıyordum ... org-indent ile kaynak kodunu girintilebiliyor musunuz?
Adam

Bunu değiştireyim ... kaynak kodu bloğu benim için iyi girintili, ama sadece başlıklar altında, düz listeler değil ...
Adam

(org-list-in-valid-context-p)src bloğundaki org, varsayılan olarak, kuruluşun bir src bloğunun listelere izin verilen bağlam olmasını istemediğini size söyleyecektir. Değiştirmek org-list-forbidden-blocksbunu değiştirebilir, bu bir durum değil defcustom.
mutbuerger

Cevabım yardımcı oldu mu? Mevcut cevabımı güncellemekten veya yeni bir cevap eklemekten mutluluk duyuyorum. Sorunuzu sorduğunuz için teşekkürler!
Melioratus

Yanıtlar:


1

Bunu dene

Düz listeler altında src bloklarının girintisini düzeltmek için aşağıdaki yöntemleri kullanın. Girinti doğru bir şekilde kurulduktan sonra, daima liste girintisini korumak için M-S-leftve M-S-righttuşlarını kullanın.

Yeni Kod Blokları için Biçimlendirmeyi Onar

Önce imleci girinti edin ve ardından <sdüz bir liste altında yeni bir src bloğu oluştururken yerleşik şablonu kullanın .

Örneğin 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

Mevcut Kod Blokları için Biçimlendirmeyi Onar

Adım 1 - İstenen girinti sütun numarasını bulun. Aşağıdaki örnek için kullanın 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

Adım 2 - İmleci #+END_SRCsatırın başına getirin M-xindent-to-column 2 return. Bundan sonra aşağıdakileri görmelisiniz:


- [ ] 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

Adım 3 - İmleci bloğun içine yerleştirip kullanarak src bloğunu açın ve kapatın 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

Sorunuzu sorduğunuz için teşekkür ederiz.
Umut etmek bu yardım etmek!


Bu cevap kullanılarak test edilmiştir:
GNU Emacs 25.3.1
org-mode: 9.1.13


1
Girintiyi kendiniz bulmanın alternatifi: listenin başına (öğe) gidin, M-höğenin tamamını işaretlemek için yazın ve ardından C-M-` to reindent that region. That sorts out the position of the END_SRC` işaretini yazın, ancak yine de gerçek kodun girintisi için hile yapmanız gerekir.
Andrew Swann

@AndrewSwann - Bu harika bir düzeltme! Teşekkür ederim!
Melioratus
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.