„Dołącz wyszukiwanie” to jedno z takich narzędzi:
[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'
Powiązane z „włącz wyszukiwanie”, „wyszukiwanie definicji” jest również interesujące:
[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
Oba narzędzia zależą od szeregu opcji, które mogą lub nie mogą być ustawione przez wtyczki typu pliku.
Zobaczyć :help include-search
.
Możesz również używać gd
i gD
jako lekkie wersje [D
i ]D
.
Zobaczyć :help gd
.
W bieżącym buforze poniższe polecenie wyświetli każdą definicję funkcji i jej numer wiersza:
:g/func/#
Zobaczyć :help :g
.
:grep
i :vimgrep
są również przydatne, jeśli tylko dlatego, że ich wynik jest podawany do listy quickfix, które mogą być zmieniane przy użyciu :cn
, :cp
... i wyświetlone w oknie bardzo poręcznym quickfix.
Zobacz :help :grep
, :help :vimgrep
a :help quickfix
.
Mówiąc o / okna listy quickfix pisałem tę funkcję (na podstawie prac innych), aby wyświetlić wyniki [I
, ]I
, :ilist
, [D
, ]D
i :dlist
na liście quickfix / okna. Oczywiście YMMV.
Choć nie jest to wyłącznie narzędzie nawigacyjne, okno podglądu jest bardzo przydatne do spojrzenia na podpis funkcji, z którą pracuję.
Zobaczyć :help preview-window
.
To mówi…
Vim nie wie nic o twoim kodzie poza kilkoma wzorcami wyrażeń regularnych, które mogą, ale nie muszą pasować do twojego stylu kodowania lub cokolwiek innego. Oznacza to, że nawigacja kodu jest lepsza przy pomocy zewnętrznych narzędzi, takich jak ctags, cscope lub GNU GLOBAL.