En VIM, ¿cómo divido una línea muy larga en varias líneas?
Digamos que tengo una cola muy larga en el editor VIM (digamos alrededor 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 ...
Vim hace esto muy fácilmente (rompe líneas en los límites de las palabras).
gq{motion} % format the line that {motion} moves over
{Visual}gq % format the visually selected area
gqq % format the current line
...
Le sugiero que consulte :help gq
y :help gw
.
Además, configurar el ancho de texto ( tw
) le dará un salto de línea automático cuando se exceda al escribir. También se usa gq
, aunque si está deshabilitado gq
se interrumpe el tamaño de la ventana o 79, dependiendo de cuál aparezca primero.
:set tw=80
Al configurar las opciones de formato para incluir el ancho del texto, vim se dividirá automáticamente en la configuración tw.
:set fo+=t
Primero configura tu vim para que entienda que quieres 80 caracteres:
:set tw=80
luego, resalta la línea:
V
y haz que vim lo formatee:
gq
Para líneas continuas de texto, resalte el área usando v en modo normal, luego presione
:s/\v(.{80})/\1\r/g
Esto agregará una nueva línea al final de cada 80 caracteres.
:s/ replaces within the current select
\v uses regular expressions
(.{80}) selects 80 characters & placed them into group one
\1\r replaces group one with group one and a newline
Esto no está realmente relacionado con VIM, pero puedes usar el programa fmt como en
$ fmt myfile