Solaris vi: Terminal too wide

Al utilizar vi en Solaris nos podemos encontrar con este error:

$ vi test.txt
Terminal too wide
:
1 more file to edit:q

El problema es que el vi de Solaris (supongo que dependerá de la versión) no soporta que la terminal con la que vas a editar el archivo tenga un ancho superior a X caracteres (no se cuantos exactamente). Existe un comando para ampliar esta limitación y adecuar el editor a nuestro ancho de pantalla, 250 por ejemplo:

$ stty columns 250
       stty - change and print terminal line settings

       * columns N
	      same as cols N

Si volvemos a intentar abrir ‘vi’ ya funcionará la edición del fichero sin problemas. Eso sí, si nuestra terminal es más ancha todavía que 250 caracteres veremos que al editar el fichero hay saltos de línea cuando la línea supera ese número de caracteres. En este caso habría que ampliar el parámetro, sin más.

Si buscáis un poco por google veréis que hay gente que ha preparado alias de comando y funciones para automatizar esto y solventar el problema. También podéis instalar ‘vim’ y problema solucionado.

Actualización julio 2016

Hay versiones de Solaris (Solaris 9, por ejemplo) en las que el número de columnas no puede ser mayor de 163, aunque hagas lo del stty. Es un límite que está hardcoded en el código del vi. En estos casos, la solución es configurar el valor en 163:

$ stty columns 163