Coloreado de Sintaxis en Vim
Programación, Vim Marzo 7th, 2008
A la hora de realizar mis programas suelo elegir, en el caso de que me dejen, realizarlo en Linux y utilizo Vim como editor y cmake como herramienta de building. Para sacar mejor provecho de estas herramientas, se pueden seguir los consejos de mi amigo pplux que blogueó aquí y aquí.
Pero yo os quiero hablar del coloreado de sintaxis en Vim. Como ya sabréis, para activar el coloreado de sintaxis en vim basta con añadir syntax on a tu fichero .vimrc. El problema lo tengo cuando uso alguna librería donde los ficheros de inclusión no tiene ninguna extensión, por lo que Vim no activará el coloreado de sintaxis automáticamente. Algún ejemplo de libraría que no usa ninguna extensión para los ficheros de inclusión, y la que uso normalmente, es OpenSceneGraph.
He estado buscando y al final he encontrado la solución. En el caso de OpenSceneGraph, los ficheros de inclusión contienen en la primera linea la cadena -*-c++-*-, por lo que la solución pasa por buscar esa cadena y si la encontramos activar el coloreado de sintaxis para el tipo C/C++. Puedes añadir las siguientes lineas a tu .vimrc para activar esta funcionalidad:
au BufNewFile,BufRead * if getline(1) =~ ‘-*-c++-*-’
au BufNewFile,BufRead * set filetype=cpp
au BufNewFile,BufRead * endif
Marzo 7th, 2008 at 8:29 pm
Muy buen truco!! y ya de puestos si pones la expresión regular así:
if getline(1) =~ ‘-*- \?[cC]++ \?-*-’
también vale para las cabeceras estándar de C++
Marzo 8th, 2008 at 2:50 pm
Sí, tienes razón. Como siempre, el mejor!