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.
Puede usar mi script que le ayudará a seleccionar la etiqueta que necesita al escribir algunas letras del nombre de la clase o etiquetas especiales como ''campo'', ''función'', ''constructor'', etc.
También hay "tagNext" para moverse a la siguiente etiqueta (o: tn <enter>)