Sto usandoCtrl-]dans Vim per navigare usando Ctags. Si vous êtes dans un fichier alternatif, cliquez ici pour résoudre le problème?
Ex. something.publish
in code de base contenente plus occorrenze di publish
:
class Foo
def publish
end
end
class Bar
def publish
end
end
:tn[ext]
va à la prochaine balise, :tp[revious]
va à la précédente. :ts[elect]
vous donne une liste de choix.
:help tag-matchlist
pour plus de choses amusantes et excitantes à essayer!
Utilisez g]
au lieu de C-]
pour obtenir la liste de toutes les correspondances.
Vous voudrez peut-être lire :help g]
Ajout de la réponse que je cherchais au cas où cela aiderait les autres:
g<C-]>
sautera à la balise s'il n'y a qu'une seule correspondance et présentera une liste s'il y a plusieurs correspondances.
J'ai ajouté cette correspondance à mon .vimrc pour lui permettre de faire ce que je veux par défaut:
nnoremap <C-]> g<C-]>
ltag
ltag the_tag_name
lopen
ouvre une fenêtre de localisation avec les correspondances de balises.
C'est particulièrement puissant avec les recherches de balises d'expressions régulières:
ltag /tag_na
lopen
qui listera toutes les balises contenant la chaîne tag_na
(incluant donc the_tag_name
).
Vous pouvez ensuite effectuer d'autres recherches dans la liste des lieux, avant d'appuyer sur Entrée pour accéder au tag.
Pour l'utiliser pour le mot sous le curseur, vous pouvez définir la carte:
nnoremap <leader>l exec("ltag ".expand("<cword>"))<CR>
Alors, si vous êtes un maniaque de tabous comme moi:
command! -nargs=1 Ltag silent ltag <args> | execute "normal \<C-o>" | tab lopen
ouvrira un nouvel onglet avec la liste des emplacements et tous les matchs, au lieu de sauter directement à l'onglet:
:Ltag /my_struct