2012-05-04 10 views
10

Normalmente codigo la mayoría de mis proyectos C en Vim. Me siento cómodo con la navegación, búsqueda y reemplazo e indexación a través de Ctags/Cscope.Vim - Mostrar tipo de datos

Una característica que me gustaría tener, si es posible, es un mapeo de teclas que mostrará el tipo de datos para una variable debajo del cursor en la pantalla.

Por ejemplo, si mi cursor está en una variable, "test123" (es decir: int test123 = 0) hay una manera de tener el tipo (int) y algunos otros detalles sobre la variable en otra pestaña dentro de Vim ?

Además, ¿hay algo similar que haría lo mismo para una variable struct, y mostrar una lista de todos sus miembros en la pestaña descriptiva, así como el tipo (es decir: struct)?

También he notado que a veces durante la codificación, tengo una pestaña titulada "[Scratch] [Vista previa]" en la parte superior de Vim que parece cumplir este requisito, pero no tengo idea de qué la desencadena (búsquedas y Las búsquedas de Ctag no parecen desencadenarlo). Se ve así:

name: myStruct::instanceOfStrct| 2 cmd: /^ int instanceOfStrct;$/ 
.. (up a dir)     | 3 kind: m 
</code/test/test.c    | 4 struct: myStruct 
|+config/      | 5 access: public 
|+lib/       | 6 filename: /code/test/test.c 

creo que esto es algo que ya existe en Vim, en cierta medida, pero no tengo idea de cómo trabajar con él.

Gracias.

Respuesta

2

No conozco ningún plugin que haga lo que quiera, sin embargo, debería ser bastante posible usando libclang. Hay un fork of clang_complete que agrega la funcionalidad 'ir a la definición' que está cerca de lo que desea. Sin embargo, el desarrollo de ese complemento parece haberse estancado.

También aparece el búfer de scratch al realizar la autocompletación para proporcionar más información sobre una finalización específica. Se puede habilitar e inhabilitar usando la configuración completeopt.

+1

Hmm, ya puedo saltar a la declaración de una variable mediante Ctags (es decir: CTRL +]) y luego a la definición del tipo de variable nuevamente mediante CTRL-], pero sería bueno no tener que saltar de un lado a otro. Sé que las teclas rápidas de historial (CTRL-o, CTRL-i) hacen que el esfuerzo sea mínimo, pero sería bueno mantener esa información en pantalla. Entonces, la autocompletación es lo que crea ese buffer de scratch. ¡Bueno saber! ¡Gracias! +1 – DevNull

Cuestiones relacionadas