Digamos que tengo una línea super larga en el editor VIM (digamos alrededor de más de 300 caracteres). ¿Cómo dividiría eso en varias líneas para que los límites de las palabras se rompan aproximadamente en 80 caracteres?
Ejemplo:
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
a
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
comando sería<ESC>
(salir del modo Insertar / Reemplazar / etc.), luegogq80l
gqq
] aaaahhh, es hermosoPrimero configure su vim para que comprenda que desea 80 caracteres:
entonces, crepúsculo la línea:
y haz que vim lo reformatee:
fuente
Esto no está realmente relacionado con VIM, pero podría usar el programa fmt como en
fuente
Para líneas continuas de texto, resalte el área usando v en modo normal, luego presione
Esto agregará una nueva línea al final de cada 80 caracteres.
fuente
Si estás en * nix, probablemente tengas
fold
disponible.Seleccione la región que desea usar
v
, luego puede dividir espacios en el ancho 80 usando:!fold --spaces --width=80
Esto es esencialmente lo mismo que usar
gq
.Sin embargo, si solo desea romper en el carácter 80 y no limitarse a espacios en blanco, puede usar:
!fold --width=80
Si lo desea con solo presionar una tecla, simplemente configure una asignación: he usado
vmap <f1> !fold --width=80<CR>
fuente
Para dividir líneas largas en el documento completo sin eliminar los saltos de línea ya presentes, use:
fuente
Necesitaba formatear un archivo completo en lugar de una línea. Como señala Wernsey, podría haber usado 'fmt', pero la siguiente secuencia en vim también funcionó (tomando prestado de las diversas respuestas aquí):
fuente
Como rápido y desagradable, quizás pruebe el siguiente mapa:
que dice:
Luego, presionando q y CR dividirá la línea en trozos en el límite de la palabra.
fuente
Inserté manualmente '\' (y luego CR / tab para formatear) en cada LONGLINE después del último espacio en blanco pero antes de la columna 80. Es decir:
ahora parece
y compila normalmente.
fuente