Come riempire (avvolgere) un'intestazione della modalità org?


9

Vorrei riempire (avvolgere) una lunga intestazione in modalità org. Non vedo menzione di come farlo nel manuale dell'organizzazione .

Se avvolgo manualmente la riga inserendo una nuova riga, la modalità org non riconosce il testo racchiuso come titolo.

È possibile?

Nota: org-fill-paragraphnon fare questo:

(defun org-fill-paragraph (&optional justify)
  "Fill element at point, when applicable.

This function only applies to comment blocks, comments, example
blocks and paragraphs.  Also, as a special case, re-align table
when point is at one.

If JUSTIFY is non-nil (interactively, with prefix argument),
justify as well.  If `sentence-end-double-space' is non-nil, then
period followed by one space does not end a sentence, so don't
break a line there.  The variable `fill-column' controls the
width for filling.

For convenience, when point is at a plain list, an item or
a footnote definition, try to fill the first paragraph within."
  (interactive)
  ; ...

Risposte:


11

Il manifesto originale sta usando le parole fille wrapin modo intercambiabile - sono non lo stesso.

Vedi la variabile org-startup-truncated:

Non-nil means entering Org-mode will set `truncate-lines'.
This is useful since some lines containing links can be very long and
uninteresting.  Also tables look terrible when wrapped.

L'impostazione predefinita è t. Per modificare ciò, l'utente può inserire il seguente codice nel .emacsfile:

(setq org-startup-truncated nil)

org-modeha bisogno di un fine riga per identificare correttamente un'intestazione. Per vedere un esempio del regexp che org-modeutilizza per le intestazioni, l'utente può digitare (dopo che org-modeè stato caricato un buffer):

M-x describe-variable RET org-complex-heading-regexp RET

Come si può vedere, la fine è $- cioè, fino alla fine della linea.

^\\(\\*+\\)\\(?: +\\(TODO\\|DONE\\)\\)?\\(?: +\\(\\[#.\\]\\)\\)?\\(?: +\\(.*?\\)\\)??\\(?:[     ]+\\(:[[:alnum:]_@#%:]+:\\)\\)?[    ]*$

Grazie per aver chiarito il riempimento rispetto al rivestimento. Tale distinzione non è chiara dalla lettura di www.emacswiki.org/emacs/FillParagraph. Grazie per aver mostrato l'espressione regolare sottostante. Per quanto riguarda i take-away, è accurato ?: A meno che non si modifichi tale regex, il riempimento (inserimento di nuove righe) non è un'opzione. Il troncamento funzionerà, usando il modo in cui mostri o con M-x toggle-truncate-lines(mostrato nella mia risposta).
David J.

1
Per disabilitare automaticamente il troncamento, la variabile org-startup-truncatedè la più appropriata perché l'inizializzazione di org-modecontrolla il valore di quella variabile e, a meno che non lo sia nil, il processo di inizializzazione imposta specificamente (setq truncate-lines t). Per mantenere il comportamento predefinito e attivarlo solo manualmente, toggle-truncate-linesè sicuramente appropriato. La regex sottostante per i titoli non può essere facilmente modificata (secondo me) perché ci sono un milione e una di funzioni che si basano su di esso - ad esempio org-agenda-list; org-search-view; org-tags-view, per dirne alcuni.
elenco delle leggi

1
Potresti anche essere interessato a visual-line-modequali sforzi per tenere insieme parole intere durante il wrapping. Per la mia configurazione, ho modificato la modifica delle voci todo come segue: la modifica restringe automaticamente il buffer all'attività che sto modificando; visual-line-modeè attivato e faccio il mio editing; all'uscita dal buffer ristretto, visual-line-modeviene disattivato; il troncamento rimane predefinito quando il buffer non viene ridotto. Ho una configurazione personalizzata che mantiene il buffer non ristretto in uno stato di sola lettura, che viene reso leggibile durante la modifica e quindi impostato in sola lettura al termine.
elenco delle leggi

4

Non vedo come far funzionare il riempimento. Quindi una soluzione è da usare M-x toggle-truncate-lines. Ciò riguarda solo la presentazione dell'intestazione. Non inserisce newline.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.