Al codificar en diferentes idiomas, tiendo a necesitar restringir mis líneas a una longitud específica (generalmente 79 u 80 caracteres).
He visto esto hecho en otros editores mediante el uso de una regla (línea continua que se muestra en la columna) o cambiando el color del texto para indicar que se ha terminado.
¿Cómo puedo hacer que Vim me indique cuando me acerco o voy sobre 79 caracteres en una sola línea?
fuente



execute "set colorcolumn=" . join(range(81,335), ',')Como anexo a la respuesta de Kevin, puede tener varias columnas de color. Cuando codifico, a veces tengo un límite "suave" en 80 columnas y un límite "duro" en 120 columnas. Entonces quiero una línea a 80, y luego cada columna después de 120 para colorear.
Hago esto con
Por supuesto, esto se puede modificar fácilmente a otras preferencias.
fuente
Vim 7.3 trae la
colorcolumnopción, como se detalla muy bien en otras respuestas.Sin embargo, si no tiene la versión 7.3 por alguna razón, aún puede obtener una indicación visual de que está excediendo un recuento de columnas en particular utilizando la
matchfuncionalidad de vim (consulte los:help matchdetalles).Esencialmente, los comandos de coincidencia le permiten crear resaltados persistentes para texto que coincida con una expresión regular dada.
:match ColorColumn "\%80v."resaltará el texto en la columna 80 con el grupo "ColorColumn". Por supuesto, puede sustituir cualquier grupo resaltado y cualquier valor de columna. Si desea una fuerte indicación visual, la expresión"\%>79v.\+"resaltará la columna 80 y más allá.(
\%80vsignifica "coincidencia en la columna virtual 80" y\%>79vsignifica "coincidencia después de la columna virtual 79; ver:help /\%cmás).Sin embargo, este enfoque solo se resaltará cuando haya caracteres reales presentes en las columnas especificadas, lo que lo hace visualmente menos consistente que
colorcolumn.fuente
matches mejor, ya que resalta solo aquellas líneas en las que estoy excediendo el límite de 80 columnas, en lugar de mostrar una (intrigante) gran línea roja a la derecha de la pantalla. Por lo tanto, en mi vimrc para Python utilizocall matchadd('ColorColumn', '\(\%80v\|\%100v\)')(80 y 100 son las longitudes sugeridas en PEP 8)