2009-03-18 15 views
17

vim + ctags funciona bien para proyectos C, ya que C no permite la sobrecarga de funciones y, en general, fomenta el prefijo manual de símbolos debido a las instalaciones rudimentarias del alcance.vim, ctags e identificadores con nombre idéntico

En C++, las funciones están frecuentemente sobrecargadas y anuladas en subclases. Esto hace que vim siempre salte a la etiqueta en la clase incorrecta en "Ctrl + ]". ¿Hay alguna manera de hacer que se comporte un poco más inteligentemente? Sé que puedo traer una lista con alternativas de etiquetas, pero es increíblemente molesto tener que mostrar siempre esta lista, y encontrar una etiqueta necesaria por número cada vez que quiero pasar a la definición.

+0

encantaría ver una solución útil a este problema. Me siento menos afectado por esto ahora uso Viemu más y más, pero todavía me atrapa cuando cambio a proyectos sin VC. – RedBlueThing

+0

Gran pregunta, me gustaría saber la respuesta a esto también. – Dan

Respuesta

12

Hay también "tagNext" para pasar a la siguiente etiqueta (o: tn <introducir>)

6

sé dos soluciones para su porblem (parece que también lo sabía):

  • Uso: tselect y tag name og] con cursor on tag para obtener una lista de etiquetas coincidentes y goto on tag por número de la lista;
  • mapa: tnext o: tprev en las teclas rápidas (he mapeado en F6 y F7) y encuentra la función necesaria a mano;
8

Yo uso tjump mucho. Es compatible con la finalización de pestañas, lo cual es útil. Si se encuentran varias etiquetas, le dará una lista para que seleccione, si solo se encuentra una, irá directamente a la etiqueta (a diferencia de tselect).

Uso:

:tj foo 
Cuestiones relacionadas