Puede leer los datos brutos de las etiquetas en un búfer con taglist(). Luego puede buscar en el búfer otros criterios que le interesen, incluidos nombres de clases y partes del directorio de archivos.
Así que para tener una búsqueda más refinada de probarlo "mytag":
:new | put =taglist(\"^mytag$\")
Para obtener la máxima información, asegúrese de usar Exuberant Ctags.
Después de buscar los datos que desea, verá el nombre del archivo asociado con la etiqueta con el prefijo 'nombre': y el texto línea con el prefijo 'cmd':.
Ponerlo en una función con algo de código para embellecer y manejar debidamente el almacenamiento intermedio:
" List information about matching tags in a buffer
function! BrowseTags(tagStr)
new [Tag Brower]
setlocal buftype=nofile bufhidden=wipe nobuflisted noswapfile nowrap
put =taglist(a:tagStr)
" Beautify it a little
normal 1G
while search('^{', 'W')
call setline(".", split(getline("."), "\\(\\(}$\\)\\|\\('\\w\\+':\\)\\)\\@="))
endw
normal 1G
endfunc
Usted puede utilizar BrowseTags de llamadas ("^ myTag $") para ejecutar la función para una exacta partido de myTag, o use algunas expresiones regulares para obtener coincidencias similares.
Aunque nunca me he molestado en hacerlo, no es demasiado difícil escribir varios comandos para automatizar las tareas más comunes sin abrir un búfer.
Gracias Dave, pero creo que no me entendiste o tal vez no lo explicamos bien. Déjame ver: imagina que he etiquetado varias clases (clase1, clase2, clase3, etc.) que tienen el método foo(). Si tengo este código: $ class3_object = new class3(); class3_object-> foo(); Me gustaría ir _directly_ a la etiqueta correspondiente a class3, porque es la clase del objeto "class3_object". Javi – ziiweb