Color de fondo diferente para múltiples tipos de archivo en vim


10

¿Es posible tener diferentes colores de fondo en vim (es decir, uno claro, uno oscuro) cuando se trata de archivos con múltiples tipos de archivo (es decir :set ft=html.php)? En el código PHP con HTML incrustado, puede ser difícil ver una sola declaración PHP entre docenas de líneas HTML, ver más abajo. Me conformaré con cualquier cosa, ya sea diferente color bg, un marcador en el margen, un segundo margen izquierdo (un complemento vim hace esto para las marcas), tal vez resaltando la <?phpetiqueta, por ejemplo (aunque eso es menos que ideal)

PHP en código HTML

EDITAR: No creo que esto sea posible en el nivel de sintaxis ya que la sintaxis parece usar un número limitado de elementos (Cadena, Función, Identificador ...). Sin duda, esto permite una fácil integración con los esquemas de colores. SyntaxAttr es un buen complemento para demostrar esto. Póngalo sobre cualquier parte del código y le dirá a qué grupo de sintaxis pertenece.


Posiblemente podría usar la misma solución que en esta publicación stackoverflow.com/questions/4167425/... donde crean un esquema de color personalizado que resalta cualquier cadena que comience con sql_.

1
Veré si puedo hacer que detecte regiones entre ?>y <?como PHP.
puk

Respuestas:


1

Otra posible solución es personalizar su archivo de esquema de colores favorito para verificar la configuración de 'fondo'. Muchos establecen la configuración de 'fondo' de una forma u otra, pero se puede verificar para cambiar los colores de resaltado.

Esquema de colores de ejemplo


" Search
if &background=="dark"
  hi IncSearch    gui=UNDERLINE guifg= ctermfg=
else " background is light
  hi IncSearch    gui=UNDERLINE guifg= ctermfg=
fi


¿Hay alguna manera de verificar el idioma de una palabra / carácter? es decir, si es HTML v PHP?
puk

Más o menos depende. Puede verificar el tipo de iluminación para una palabra en particular. Y si es distinguible entre HTML y PHP, lo sabría. Pero creo que es lo mejor que obtendrás sin mucho trabajo extra. Use algo como lo siguiente para obtener el tipo de resaltado:: echo synIDattr (synID (line ("."), Col ("."), 1), "name")
pottsdl
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.