Podczas gdy zwykłe akapity są szczęśliwie wcięte pod zwykłymi elementami listy (użycie wcięcia [SPACJA] do wcięcia pierwszego wiersza zajmuje resztę), zauważyłem, że bloki kodu nie lubią współpracować. Czy jest jakiś sposób to naprawić?
W tej chwili mam to:
- [ ] 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
Chciałbym to uzyskać:
- [ ] 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-mode
formatting
Adam
źródło
źródło
org-indent-mode
.(org-list-in-valid-context-p)
w bloku src powie ci, że domyślnie org nie chce, aby blok src był kontekstem, w którym listy są dozwolone. Zmianaorg-list-forbidden-blocks
może to zmienić, ale to nie wszystkodefcustom
.Odpowiedzi:
Spróbuj tego
Korzystam z następujących metod, aby naprawić wcięcie bloków src w listach. Po prawidłowym ustawieniu wcięcia zawsze używaj M-S-lefti M-S-rightutrzymuj wcięcie listy.
Napraw formatowanie dla nowych bloków kodu
Najpierw wcięcie kursora, a następnie użycie wbudowanego szablonu
<s
podczas tworzenia nowego bloku src na prostej liście.na przykład tab <s tab
language
returnNapraw formatowanie dla istniejących bloków kodu
Krok 1 - Ustal żądany numer kolumny wcięcia. W poniższym przykładzie użyj
2
.Krok 2 - Umieść kursor na początku
#+END_SRC
linii, a następnie wykonaj M-xindent-to-column2
return. Po tym powinieneś zobaczyć następujące informacje:Krok 3 - Otwórz i zamknij blok src, umieszczając kursor wewnątrz bloku i używając C-' C-'.
Dziękuję za pytanie.
Mam nadzieję, że to pomogło!
źródło
M-h
aby zaznaczyć cały element, a następnieC-M-` to reindent that region. That sorts out the position of the
znacznik END_SRC`, ale nadal musisz zrobić sztuczkę, aby wprowadzić wcięcie rzeczywistego kodu.