"Включити пошук" є одним із таких інструментів:
[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'
Пов’язані з "включити пошук", "цікавий пошук" теж цікавий:
[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
Обидва інструменти залежать від різноманітних опцій, які можуть бути встановлені вашими плагінами файлів або можуть бути встановлені.
Див :help include-search
.
Ви також можете використовувати gd
і gD
як легкі версії [D
та ]D
.
Див :help gd
.
У поточному буфері команда нижче перелічить кожне визначення функції та номер рядка:
:g/func/#
Див :help :g
.
:grep
а :vimgrep
також корисні, хоча б тому, що їх результат подається до списку швидких виправлень, до якого можна перейти :cn
, :cp
… та відобразитися у дуже зручному вікні виправлення.
Дивіться :help :grep
, :help :vimgrep
і :help quickfix
.
Говорячи про список QuickFix / вікна, я написав цю функцію (на основі роботи інших) , щоб відобразити результати [I
, ]I
, :ilist
, [D
, ]D
і :dlist
в списку QuickFix / вікна. YMMV звичайно.
Хоча це не суто навігаційний інструмент, я вважаю вікно попереднього перегляду дуже корисним для ознайомлення з підписом функції, з якою працюю.
Див :help preview-window
.
Це сказав ...
Vim нічого не знає про ваш код за винятком декількох шаблонів регулярних виразів, які можуть або не відповідають вашому стилю кодування чи будь-якому іншому. Це означає, що навігацію по коду краще робити за допомогою зовнішніх інструментів, таких як ctags, cscope або GNU GLOBAL.