2011-02-16 7 views
10

Me gustaría que las variables de C++ se destaquen por alcance. P.ej. las variables deben tener diferentes colores dependiendo del alcance del archivo, clase, global o local. ¿Es posible?Vim: ¿Resaltar las variables de C++ usando scope?

ACTUALIZACIÓN: Ayuda externa (por ejemplo, scripts ctags/clang y vim) son bienvenidos.

ACTUALIZACIÓN 2: Esto realmente debería ser posible usando libclang. Eche un vistazo a las presentaciones de Doug Gregor aquí: http://llvm.org/devmtg/2010-11/ Creo que nadie lo ha hecho todavía ... ¿o?

+0

A menos csope y amigos hacen algo de magia que estoy al tanto, no creo que esto es posible. El resaltado de sintaxis de Vim se realiza a través de la correspondencia de expresiones regulares. No tiene ningún concepto de alcance. –

+0

@Randy "El resaltado de sintaxis de Vim se realiza a través de la correspondencia de expresiones regulares." - No del todo. Es cierto que usa expresiones regulares para hacer coincidir los lexemas individuales, pero en realidad usa una máquina de inserción para que pueda (al menos teóricamente) hacer coincidir todos los idiomas libres de contexto no normal. Pero en cuanto a la pregunta, no estoy al tanto de tal script y scripts similares que prometen soporte ampliado de C++ (OmniCppComplete ...) no cumplen con sus promesas. –

Respuesta

1

Un truco que he visto, pero Don; t uso:

Si declara variables con el prefijo apropiado g_, m_ etc .. Puede utilizar esto para conseguir vim para colorear de forma diferente:

+0

En realidad, prefiero eso; la razón por la que pregunto es si cambio de lugar de trabajo, la nueva no usa prefijos de ámbito. –

+0

No me gusta esa convención de nomenclatura (ninguna razón particular justificable). Simplemente me gusta que mis nombres de variables sean significativos y fáciles de leer (no tengo muchas variables globales (normalmente 0) así que g_ parece redundante) Si no puedo distinguir entre una variable local y una variable miembro, tiendo a refactorizar el código para que sea más fácil de leer. –

3

http://www.vim.org/scripts/script.php?script_id=2646

Desde la página web de la escritura:

Este conjunto de secuencias de comandos está diseñada para aumentar el número de grupos que destacan utilizados por Vim. Esto hace que sea más rápido y fácil detectar errores en su código. Al usar ctags y analizar el resultado, los typedefs, #defines, nombres enumerados, etc. se resaltan claramente en diferentes colores.

Hay algunas capturas de pantalla disponibles para mostrar la comparación.

http://sites.google.com/site/abudden/contents/Vim-Scripts/ctags-highlighting

+0

Esto es bueno, pero realmente no hace lo que la pregunta está pidiendo. –

Cuestiones relacionadas