web-dev-qa-db-fra.com

Saut de ligne automatique Vim

Lorsque j'écris une longue ligne de texte dans vim (comme un paragraphe en latex), cela enveloppe mon texte en plusieurs lignes, ce qui est bien. Cependant, si j'essaie ensuite de parcourir ces lignes avec "j" et "k" (ou les flèches haut/bas), il sautera tout le paragraphe. J'ai résolu ce problème en surlignant le paragraphe et en appuyant sur gq. Cela insère des sauts de ligne à la fin de chaque ligne.

Ma question est, existe-t-il un moyen d'automatiser cela, donc je n'ai pas à continuer de mettre en surbrillance le texte et d'appuyer sur gq?

29
Eddy

Vous devez prendre un peu de recul et utiliser gj et gk qui montent et descendent à l'intérieur des lignes enveloppées.

Étant donné que gjet gk fonctionnent exactement de la même manière que j et k dans les lignes non encapsulées, vous pouvez mapper en toute sécurité j ou <down> à gj et k ou <up> à gk pour que tout soit transparent.

-- ÉDITER --

Oui, cela ne résout pas le problème immédiat d'Eddy, mais cela résout son problème d'origine (mouvement vertical en lignes enroulées) qui l'a conduit à une mauvaise solution de contournement qui, à son tour, l'a mis dans cette situation.

27
romainl

Vous pouvez limiter la largeur d'une ligne avec l'option textwidth (voir :help tw).

Par exemple, si vous souhaitez limiter la largeur à 80 colonnes, vous pouvez utiliser:

:set tw=80

Avec cette option, lorsque vous tapez quelque chose de plus de 80 colonnes, Vim insère automatiquement un caractère de nouvelle ligne.

46
Ackar