"Inclure la recherche" est l'un de ces outils:
[I and ]I " search current buffer and included files for
" the word under the cursor, skipping comments
:ilist foo " same as above but for 'foo'
:ilist /foo " same as above but for a word containing 'foo'
En ce qui concerne "inclure la recherche", la "recherche par définition" est également intéressante:
[D and ]D " search current buffer and included files for
" the definition of the symbol under the cursor
:dlist foo " same as above but for definition of 'foo'
:dlist /foo " same as above but for a definition containing 'foo'
:dlist / " list all definitions from the current buffer
" and included files
Les deux outils dépendent d'une variété d'options qui peuvent ou non être définies par vos plugins de type de fichier.
Tu vois :help include-search.
Vous pouvez également utiliser gdet gDcomme versions légères de [Det ]D.
Tu vois :help gd.
Dans le tampon actuel, la commande ci-dessous répertorie chaque définition de fonction et son numéro de ligne:
:g/func/#
Tu vois :help :g.
:grepet :vimgrepsont également utiles, ne serait-ce que parce que leur résultat est introduit dans la liste des quickfix avec laquelle vous pouvez naviguer :cn, :cp… et affiché dans la fenêtre très pratique des quickfix.
Voir :help :grep, :help :vimgrepet :help quickfix.
En parlant de la liste quickfix / fenêtre, je l' ai écrit cette fonction (basée sur le travail des autres) pour afficher les résultats de [I, ]I, :ilist, [D, ]Det :dlistdans la liste des quickfix / fenêtre. YMMV bien sûr.
Bien que n'étant pas strictement un outil de navigation, je trouve la fenêtre d'aperçu très utile pour jeter un œil à la signature de la fonction avec laquelle je travaille.
Tu vois :help preview-window.
Cela dit…
Vim ne sait rien de votre code au-delà de quelques modèles d'expression régulière qui peuvent ou non correspondre à votre style de codage ou autre. Cela signifie que la navigation dans le code est mieux effectuée à l'aide d'outils externes tels que ctags, cscope ou GNU GLOBAL.