c++ vim ctags

c++ - vim, ctags e identificadores con nombres idénticos



(4)

Conozco dos soluciones para tu problema (parece que también lo sabías):

  • Use: seleccione el nombre de la etiqueta o g] con el cursor en la etiqueta para obtener la lista de etiquetas coincidentes y vaya a la etiqueta por número de la lista;
  • map: tnext o: tprev en las teclas de acceso rápido (he mapeado en F6 y F7) y encuentre la función necesaria manualmente;

vim + ctags funciona bien para proyectos en C, ya que C no permite la sobrecarga de funciones y, en general, alienta el prefijo manual de símbolos debido a las facilidades de alcance rudimentarias.

En C ++, las funciones se sobrecargan con frecuencia y se anulan en las 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 por número cada vez que quiera pasar a la definición.



También hay "tagNext" para moverse a la siguiente etiqueta (o: tn <enter>)


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

Uso:

:tj foo