Dans Emacs, comment reformater un paragraphe édité pour que les sauts de ligne soient correctement réinsérés?

17

Dans Emacs, j'ai un paragraphe de texte, qui est déjà correctement encapsulé, disons 79e colonne sur chaque ligne, puis vous le modifiez, en ajoutant du texte sur certaines lignes, comment reformater le paragraphe modifié afin que les caractères de saut de ligne soient automatiquement supprimés et insérés aux bons endroits de sorte que le paragraphe résultant soit à nouveau un saut de ligne à la 79e colonne pour chaque ligne, ou ce qui est approprié pour le mode actuel, par exemple python-mode?

qazwsx
la source

Réponses:

28

Vous devez utiliser la fill-paragraphcommande, normalement liée à meta-q. (Vous pouvez l'utiliser ESC qsi votre clavier n'a pas de touche méta.) Le remplissage de paragraphe n'a de sens que dans les modes de texte libre ou dans les commentaires dans les modes de langage de programmation. Les modes de langage de programmation sont généralement configurés autour de la TABtouche pour indenter correctement les lignes; les sauts de ligne sont insérés manuellement.

Pour définir la colonne à laquelle les lignes de texte sont interrompues, utilisez la set-fill-columncommande. Placez le curseur sur la colonne à laquelle vous voulez que la ligne se termine, et tapez control-u control-x fet cette colonne deviendra la colonne de remplissage pour le tampon actuel. Utilisez fill-paragraphpour remplir le paragraphe avec la nouvelle colonne de remplissage.

Kyle Jones
la source
1
Que dois-je mettre dans .emacs pour que la valeur par défaut soit telle que fill-paragraphtoutes les lignes soient remplies jusqu'à la 79e colonne?
qazwsx
6
(setq-default fill-column 79)
Kyle Jones
Y a-t-il un contraire à fill-paragraph, qui reformaterait le paragraphe pour qu'il soit tout sur une seule ligne?
jameshfisher
1
Oh je l' ai trouvé: unfill-paragraph. Merci.
jameshfisher