reformater largeur texte vim
-
27-10-2019 - |
Question
Je veux reformater mon dossier de sorte que la largeur de ligne max est 79. Je l'ai fait :set tw=79
et gggqG
et les résultats n'étaient pas ce que je pensais. Lorsqu'une ligne est inférieure à 79 col, les caractères de la ligne en dessous et se déplacent les lignes avec plus de 79 col ne se cassent pas en deux lignes.
modifier. Eh bien, j'étais semi-trompé en ce sens qu'elle n'a pas de lignes de rupture sur 79, sauf dans la ligne des astérisques
--CONVENTIONS**************************************************************************************
En outre, il se déplace encore des caractères lorsque la ligne est <79.
La solution
Une solution possible, mais pas le meilleur.
Undefine formatexpr
et laissez programme fold
externe pour formater votre texte à 79 caractères largeur.
:set formatexpr=
:set formatprg=fold\ -w\ 79
Et maintenant:
gg # Go to beginning of file.
gq # Format until...
G # End of file.
Et enfin supprimer les retours chariot (^ M):
:%s/\r//g
Dans mon test, il a changé certains caractères accentués et d'autres lignes ont été mutilée, mais essayez vous-même. Sinon vous pouvez écrire votre propre fonction de format et de l'utiliser avec l'option formatexpr
.
Autres conseils
Mettre la ligne vide entre les différents paragraphes. Ensuite, faites le reformater.