Je veux utiliser le soft wrap de Vim capacité de ( :set wrap
) pour envelopper du code à 80 caractères, quelle que soit ma largeur de fenêtre réelle.
Je n'ai pas encore été en mesure de trouver un moyen de le faire - tout l'emballage doux semble lié à la largeur de la fenêtre
textwidth
etwrapmargin
sont tous deux destinés à être emballés (ils insèrent des caractères de nouvelle ligne dans le fichier)- la division verticale en plusieurs fenêtres et l'utilisation
:vertical resize 80
(éventuellement avec:set breakat=
pour permettre des pauses sur n'importe quel caractère) sur l'une d'elles fonctionne en quelque sorte (même si c'est un peu hackish), mais les ruptures lors de l'utilisation:set number
car les numéros de ligne occupent un nombre variable de colonnes (en fonction sur la longueur du fichier) et ceux-ci font partie des 80.
Existe-t-il un moyen de le faire dans vim? Cela n'a pas l'air prometteur, selon d'autres sources .
Pour le moment, mon approximation est juste d'avoir /^.\{80}\zs.\+
comme recherche par défaut, donc elle est au moins mise en évidence. J'ai pensé à ajouter un :syntax
élément pour cela, mais cela s'est cassé quand il chevauchait d'autres éléments de syntaxe, alors j'ai abandonné cette idée.
Réponses:
Vous pourriez
:set numberwidth=6
et:set columns=86
(ou avec la souris) à la bonne taille.Si vous modifiez un fichier contenant un million de lignes, vous pouvez avoir des problèmes, mais c'est peu probable. Vous gaspillez également 6 colonnes de fonds d'écran de cette façon. Il y a donc encore toutes sortes de problèmes.
Vous pouvez surligner au-delà de la 80e colonne en utilisant
:match
comme indiqué ici et ici .Au-delà de cela, je ne vois aucun moyen de le faire. On dirait que ce serait une fonctionnalité intéressante.
la source
Essaye ça:
Vous pouvez supprimer le
if (&columns > 80) |
si vous voulez toujours 80 colonnes.la source
Je n'ai pas de solution au soft wrap, mais comme pour le marquage d'une colonne, à partir de Vim 7.3 (publié le 15/08/2010)
:set colorcolumn=80
mettra en évidence la colonne 80. La couleur dépendra de votre fichier de syntaxe.Voir Vim 80 colonnes layout préoccupations ,
:h colorcolumn
.la source
:let w:eighty_column_match = matchadd('ColorColumn', '\%81v.\+', 100)
colorwidth
chose est utile pour d'autres raisons, donc je suis heureux que vous ayez publié ceci.Avez-vous essayé
'linebreak'
?la source
breakat
n'est qu'un motif (pas une longueur), donc je ne vois pas comment je pourrais utiliser cela pour forcer un enveloppement souple à 80 ....^.{,80}\b
ferait pour les personnes qui utilisent des onglets soft / expand. Notez que c'est perl regex, pas vim regex.Il n'y a pas de bonne façon de le faire. Nous pouvons pirater une solution de fortune
setlocal softwrap
avecautocmd
si nous modifions la réponse @eborisch. Si nous redimensionnons à chaque fois que nous entrons dans un tampon, et que nous redimensionnons à une longueur particulière lorsque la variable localesoftwrap
est définie, nous obtenons le comportement souhaité.Supposons que nous souhaitons un enveloppement souple à 80 colonnes, nous pouvons écrire ce qui suit dans
.vimrc
.Pour activer le mode pour un tampon particulier, utilisez les commandes suivantes:
la source