Très souvent, j'écris des démarques dans VIM, et il y aura des paragraphes dans ces démarques. Pour faciliter mon édition, j'ai configuré mon Vim pour encapsuler une ligne sur 80 caractères. Cela fonctionne bien si je continue à taper, mais le problème est que si je dois faire une correction, cela devient très ennuyeux.
démo (tirée de la logique de premier ordre de wikipedia):
The adjective "first-order" distinguishes first-order logic from higher-order logic
in which there are predicates having predicates or functions as arguments. In first-order
theories, predicates are often associated with sets. In interpreted higher-order
theories, predicates may be interpreted as sets of sets.
Jusqu'ici tout va bien. Mais quand je révise l'article, je peux décider d'ajouter quelque chose au milieu, par exemple:
The adjective "first-order" distinguishes first-order logic from higher-order logic
in which there are predicates having predicates or functions as arguments,
or in which one or both of predicate quantifiers or function quantifiers are permitted.
In first-order theories, predicates are often associated with sets. In interpreted higher-order
theories, predicates may be interpreted as sets of sets.
remarquez que la ligne 3 est celle que je veux terminer. Si je le fais dans VIM, je devrai joindre manuellement les lignes et recadrer tout le paragraphe.
Quelqu'un a-t-il une idée de comment faire pour que VIM le fasse automatiquement?
Je voudrais voir
:help 'textwidth'
. Il coupera automatiquement les lignes lorsque vous tapez. Cependant, cela ne fonctionne pas si vous modifiez le milieu d'une ligne.Personnellement, je préfère laisser de
textwidth
côté, donc j'ai créé une fonction qui se joindra automatiquement et divisera un paragraphe. (Fondamentalement, formatez-le automatiquement à 80 caractères) Il ressemble à ceci:J'ai ensuite un mappage pour l'appeler chaque fois que j'en ai besoin:
Cette fonction fonctionne très bien avec
formatoptions+=jr
pour formater les commentaires dans le code aussi! Placez simplement votre curseur sur la première ligne de plus de 80 caractères et appelez la fonction.(Remarque: je n'ai pas rendu cette fonction générale pour faire des longueurs autres que 80, mais je pense que vous ne devez changer les 80 et 81 que si vous voulez en faire autre chose)
Voir
:help 'textwidth'
et:help 'formatoptions'
pour plus d'informations.la source
textwidth
formatera automatiquement à mesure que vous tapez. Ma fonction ne le sera pas. Je préfère contrôler quand vim enveloppe les choses, donc ça marche pour moi. Mais si vous recherchez spécifiquement un formateur au fur et à mesure, oui; il ne correspond pas tout à fait à votre flux de travail.Par souci d'exhaustivité, je voudrais mentionner l'option basée sur les plugins.
Si vous utilisez quelque chose comme ALE qui prend en charge l'exécution de vos tampons via un embellisseur lors de la sauvegarde, vous pouvez laisser Prettier gérer le reconditionnement de votre code.
J'ai accompli cela en mettant ceci dans
~/.vim/ftplugin/markdown.vim
:... et mettre ceci dans
~/.vimrc
:la source