Comment remplir (envelopper) un titre en mode org?


9

Je voudrais remplir (envelopper) un long titre en mode org. Je ne vois pas comment le faire dans le manuel de l' organisation .

Si j'encapsule manuellement la ligne en insérant une nouvelle ligne, le mode org ne reconnaît pas le texte encapsulé comme un en-tête.

Est-ce possible?

Remarque: org-fill-paragraphne fait pas ceci:

(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)
  ; ...

Réponses:


11

L'affiche originale utilise les mots fillet de wrapmanière interchangeable - ils ne sont pas les mêmes.

Voir la variable 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.

La valeur par défaut est t. Pour changer cela, l'utilisateur peut mettre le code suivant dans le .emacsfichier:

(setq org-startup-truncated nil)

org-modea besoin d'une fin de ligne pour identifier correctement un en-tête. Pour voir un exemple de l'expression rationnelle utilisée org-modepour les en-têtes, l'utilisateur peut taper (après le org-modechargement d' un tampon):

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

Comme on peut le voir, la fin est $- c'est-à-dire jusqu'à la fin de la ligne.

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

Merci d'avoir clarifié le remplissage par rapport à l'emballage. Cette distinction n'est pas claire à la lecture de www.emacswiki.org/emacs/FillParagraph. Merci d'avoir montré l'expression régulière sous-jacente. En ce qui concerne les plats à emporter, est-ce exact?: À moins que l'on ne modifie que l'expression régulière, le remplissage (insertion de nouvelles lignes) n'est pas une option. La troncature fonctionnera, soit en utilisant la façon dont vous montrez ou avec M-x toggle-truncate-lines(indiqué dans ma réponse).
David J.

1
Pour désactiver automatiquement la troncature, la variable org-startup-truncatedest la plus appropriée car l'initialisation de org-modevérifie la valeur de cette variable et, à moins qu'elle ne le soit nil, le processus d'initialisation définit spécifiquement (setq truncate-lines t). Pour conserver le comportement par défaut et le basculer uniquement manuellement, il toggle-truncate-linesest certainement approprié. Le regex sous-jacent pour les en-têtes ne peut pas être facilement changé (à mon avis) car il y a un million et une fonctions qui en dépendent - par exemple org-agenda-list; org-search-view; org-tags-view, pour n'en nommer que quelques-uns.
lawlist

1
Vous pouvez également être intéressé par les visual-line-modeefforts pour garder des mots entiers ensemble lors de l'emballage. Pour ma propre configuration, j'ai modifié l'édition des entrées de tâches comme suit: l'édition réduit automatiquement le tampon à la tâche que j'édite; visual-line-modeest activé et je fais mon montage; à la sortie du tampon rétréci, visual-line-modeest désactivé; la troncature reste la valeur par défaut lorsque le tampon n'est pas réduit. J'ai une configuration personnalisée qui maintient le tampon non rétréci dans un état en lecture seule, qui est rendu lisible lors de l'édition, puis défini en lecture seule une fois terminé.
lawlist

4

Je ne vois pas comment faire fonctionner le remplissage. Une solution de contournement est donc à utiliser M-x toggle-truncate-lines. Cela n'affecte que la présentation du titre. Il n'insère pas de nouvelles lignes.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.