Disons que j'ai une très longue ligne dans l'éditeur VIM (disons environ 300+ caractères). Comment pourrais-je diviser cela en plusieurs lignes afin que les limites des mots se coupent à peu près à 80 caractères?
Exemple:
This is a really long line This is a really long line This is a really long line This is a really long line This is a really long line This is a really long line This is a really long line This is a really long line This is a really long line This is a really long line This is a really long line
à
This is a really long line
This is a really long line
This is a really long line
This is a really long line
This is a really long line
This is a ...
gq
commande serait<ESC>
(sortez du mode Insérer / Remplacer / etc), puisgq80l
gqq
] aaaahhh, c'est magnifiqueCommencez par configurer votre vim pour qu'il comprenne que vous voulez 80 caractères:
puis, allumez la ligne:
et faites le reformater vim:
la source
Ce n'est pas vraiment lié à VIM, mais vous pouvez utiliser le programme fmt comme dans
la source
Pour les lignes pleines de texte, mettez en surbrillance la zone en utilisant v en mode normal, puis appuyez sur
Cela ajoutera une nouvelle ligne à la fin de chaque 80e caractère.
la source
Si vous êtes sur * nix, vous avez probablement des fichiers
fold
disponibles.Sélectionnez la région que vous souhaitez utiliser
v
, puis vous pouvez couper sur des espaces de largeur 80 en utilisant:!fold --spaces --width=80
C'est essentiellement la même chose que d'utiliser
gq
.Cependant, si vous souhaitez simplement interrompre le caractère 80 et ne pas être limité aux espaces, vous pouvez utiliser:
!fold --width=80
Si vous le voulez avec une seule touche, définissez simplement un mappage - j'ai utilisé
vmap <f1> !fold --width=80<CR>
la source
Pour fractionner les longues lignes dans le document complet sans supprimer les sauts de ligne déjà présents, utilisez:
la source
J'avais besoin de reformater un fichier entier plutôt qu'une ligne. Comme le souligne Wernsey, j'aurais pu utiliser `` fmt '', mais la séquence suivante dans vim a également fait l'affaire (empruntant aux différentes réponses ici):
la source
Comme un rapide et méchant, essayez peut-être la carte suivante:
qui dit:
Ensuite, frapper q et CR divisera la ligne en morceaux sur la limite du mot.
la source
J'ai inséré manuellement '\' (puis CR / tab pour formater) dans chaque LONGLINE après le dernier espace mais avant la colonne 80. C'est-à-dire:
ressemble maintenant à
et compile normalement.
la source