Después de leer help textwithy help fo-table, esperaba eso cuando configuro
set textwidth=20 " for demonstration
set formatoptions=tcq
luego insertar texto siempre ocasionaría que una línea se ajuste, pero ese no es el caso. El ajuste solo ocurre en (o antes) mi cursor. Y si pego, el envoltorio no ocurre en absoluto.
Ejemplo (Vim 7.4):
12345678901234567890
This is a long line
La línea se ajustará automáticamente si presiono Ay empiezo a escribir.
Pero si presiono 02wiy escribo "still", no se ajusta:
12345678901234567890
This is still a long line
Tengo que escribir otros 7 caracteres antes de que se ajuste, y luego el problema continúa en la siguiente línea:
12345678901234567890
This is still more <-- it wraps here
typing and again a long line
Pegar tampoco desencadena una envoltura:
12345678901234567890
This is a long line This text is pasted and not wrapped
Creo que lo que quiero es set fo+=apero eso se aplica a nivel de párrafo, mientras que no quiero que el formateo automático de una línea se extienda a otras líneas.
¿O me falta una opción?
Para ser claros, después del lanzamiento vim -u NONE, esto es lo que escribo (menos comentarios):
:set textwidth=20<CR>
:set formatoptions=tcq<CR>
iThis is a long line<ESC>
02wistill <ESC> " no wrap happens, but I'd like it to
u
:let @r = "This text is pasted and not wrapped"<CR>
$"rp " no wrap happens, but I'd like it to
fuente

vim -u NONEInicié Vim con para evitar cargar un archivo vimrc. ¿Esto te soluciona el problema? ¿Qué versión de Vim estás usando?pasteestablece, accidentalmente? Prueba:set paste?pasteno está configurado. Cuandopastese establece, no ocurre ningún ajuste.Respuestas:
Encontré una solución parcial, usando
formatoptions=tcqaw. Básicamente, sigue ajustando automáticamente los párrafos, pero un párrafo termina cuando la línea no tiene espacios en blanco al final, lo cual es adecuado para muchos casos.Usando su ejemplo (con una ligera modificación, sin deshacer y usando "
<SPACE>Esto ...") obtengo este resultado:fuente