De forma predeterminada, el uso gq
con un comando de movimiento ajusta el texto descrito por el comando de movimiento a 79 columnas. (Soy relativamente nuevo en vi
/ vim
por lo que no conozco la terminología correcta). ¿Cómo puedo configurar el recuento de columnas para que, en cambio, se ajuste a un número diferente de columnas?
Por ejemplo, supongamos que tengo este texto:
This is text for illustration.
Me gustaría poder configurar la columna de ajuste a 29 para que si mi cursor está en la línea y lo ejecuto gqip
se transforme en:
This is text for
illustration.
Estoy usando gVim en Ubuntu GNOME 17.04, si eso hace la diferencia.
EDITAR: Estoy buscando una manera de ajustar manualmente ciertas secciones de texto a la longitud de línea dada sin afectar a ninguna otra, porque hay algunos casos en los que estoy de acuerdo en pasar el límite. Para ampliar el ejemplo anterior, si mi documento se ve así:
This is text for illustration.
This is some other text for illustration.
Y corro gqip
con mi cursor en la primera línea, me gustaría obtener:
This is text for
illustration.
This is some other text for illustration.
Luego, si empiezo a escribir en una nueva línea debajo de esa, me gustaría que esa línea no se vea afectada de manera similar por el límite.
Mi caso de uso es escribir documentos LaTeX: me gustaría poder ajustar párrafos de prosa a un cierto número de columnas a pedido, pero en ciertos casos donde escribo ecuaciones largas o tablas, quiero que esas líneas permanecer más tiempo que el límite.
gq
comando no permite establecer el ancho de ajuste por invocación; siguetextwidth
y setextwidth
aplica a todo el búfer, no solo a ciertas líneas. Si está de acuerdo con envolver manualmente las secciones que desea envolver, podría escribir una función que: guardaría el valor actual detextwidth
; puestotextwidth
a 29; actuargq
en las líneas seleccionadas; restaurar el valor detextwidth
. Luego asigne esta función aformatexpr
. Alternativamente, puede usar un programa externo comofmt
formatear líneas seleccionadas.