usar texto salir pegar linea insertar editar copiar comando borrar vim wrap

texto - Envoltura suave a 80 caracteres en Vim en ventana de ancho arbitrario



usar vi (4)

¿Has probado ''linebreak'' ?

*''linebreak''* *''lbr''* *''nolinebreak''* *''nolbr''* ''linebreak'' ''lbr'' boolean (default off) local to window {not in Vi} {not available when compiled without the |+linebreak| feature} If on Vim will wrap long lines at a character in ''breakat'' rather than at the last character that fits on the screen. Unlike ''wrapmargin'' and ''textwidth'', this does not insert <EOL>s in the file, it only affects the way the file is displayed, not its contents. The value of ''showbreak'' is used to put in front of wrapped lines. This option is not used when the ''wrap'' option is off or ''list'' is on. Note that <Tab> characters after an <EOL> are mostly not displayed with the right amount of white space.

Quiero usar la función de :set wrap suave de Vim ( :set wrap ) para ajustar el código a 80 caracteres, independientemente del ancho de mi ventana real.

Todavía no he podido encontrar una manera de hacerlo: todo el envoltorio suave parece estar vinculado al ancho de la ventana

  • textwidth y wrapmargin son ambos para envoltura dura (insertan caracteres de nueva línea en el archivo)
  • división vertical en varias ventanas y uso de :vertical resize 80 (posiblemente con :set breakat= para permitir interrupciones en cualquier carácter) en una de ellas tipo de obras (aunque es un poco hackish), pero se rompe al usar :set number como el los números de línea ocupan un número variable de columnas (según la longitud del archivo) y forman parte de los 80.

¿Hay alguna manera de hacer esto en vim? No parece prometedor, según otras fuentes .

En este momento mi aproximación es solo tener /^./{80}/zs./+ como mi búsqueda predeterminada, por lo que al menos está resaltada. Pensé en agregarle un elemento de :syntax , pero se rompió cuando superponía otros elementos de sintaxis, así que descarté esa idea.


No tengo una solución para el :set colorcolumn=80 suave, pero en cuanto a marcar una columna, a partir de Vim 7.3 (publicado el 2010-08-15) :set colorcolumn=80 resaltará la columna 80. El color dependerá de su archivo de sintaxis.

Consulte los problemas de diseño de columnas de Vim 80 , :h colorcolumn .


Prueba esto:

set columns=80 autocmd VimResized * if (&columns > 80) | set columns=80 | endif set wrap set linebreak set showbreak=+++

Puede eliminar if (&columns > 80) | si siempre quieres 80 columnas.


Puede establecer un ancho mínimo grande para la columna de números de línea a través de :set numberwidth=6 y luego puede :set columns=86 o cambiar el tamaño de su ventana al tamaño adecuado. Si edita un archivo con un millón de líneas, puede tener problemas, pero eso es poco probable. También desperdicia 6 columnas de propiedades inmobiliarias de pantalla. Entonces todavía hay todo tipo de problemas.

Puede resaltar más allá de la columna 80 usando :match como dice here y here .

Más allá de eso, no veo ninguna manera de hacer esto. Parece que sería una buena característica.