utilizar texto que manejar insertar editar curso con archivos vim ctags exuberant-ctags

texto - ¿Cómo navegar múltiples coincidencias ctags en Vim?



que es vim (4)

Use g] lugar de C-] para obtener la lista de todas las coincidencias.

Es posible que desee leer :help g]

Estoy usando Ctrl - ] en Vim para navegar usando Ctags. ¿Cómo navego para alternar un archivo si hay varias coincidencias?

Ex. something.publish en un código base que contiene múltiples apariciones de publish :

class Foo def publish end end class Bar def publish end end


:tn[ext] va a la siguiente etiqueta :tp[revious] va a la anterior. :ts[elect] te da una lista para elegir.

:help tag-matchlist de :help tag-matchlist para probar cosas más divertidas y emocionantes!


Agregando la respuesta que estaba buscando en última instancia en caso de que ayude a otros:

g<C-]> saltará a la etiqueta si solo hay una coincidencia y presentará una lista si hay varias coincidencias.

He agregado esta asignación a mi .vimrc para que haga lo que quiero de forma predeterminada:

nnoremap <C-]> g<C-]>


ltag

ltag the_tag_name lopen

abre una ventana de ubicación con las coincidencias de etiquetas.

Esto es especialmente poderoso con búsquedas de etiquetas de expresiones regulares:

ltag /tag_na lopen

que mostrará una lista de todas las etiquetas que contienen la cadena tag_na (por lo tanto, incluye the_tag_name ).

Luego, puede seguir buscando dentro de la lista de ubicaciones, antes de pulsar Intro para saltar a la etiqueta.

Para usarlo para la palabra debajo del cursor, es posible que desee definir el mapa:

nnoremap <leader>l exec("ltag ".expand("<cword>"))<CR>

Entonces, si eres un loco maniático como yo:

command! -nargs=1 Ltag silent ltag <args> | execute "normal /<C-o>" | tab lopen

abrirá una nueva pestaña con la lista de ubicaciones y todas las coincidencias, en lugar de saltar directamente a la pestaña:

:Ltag /my_struct