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
colorcolumn
opció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
match
funcionalidad de vim (consulte los:help match
detalles).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á.(
\%80v
significa "coincidencia en la columna virtual 80" y\%>79v
significa "coincidencia después de la columna virtual 79; ver:help /\%c
má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
match
es 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)