Ви можете використовувати команду grep Vim для пошуку всіх файлів у вашому проекті:
:grep! "\<<cword>\>" . -r
:copen
Давайте помістимо це в палітурку:
nnoremap <F4> :grep! "\<<cword>\>" . -r<CR>:copen<CR>
Мені здається, що цей ключовий пошук у проекті неоціненний, коли я вивчаю велику незнайому кодову базу.
\<
і \>
є послідовностями регулярного виразів, які вказують на початок і кінець слова, тому часткові збіги ви не отримаєте. (Можливість -w
отримати греп може бути іншим способом цього досягти.)
Однак це непродуманий пошук , тому він може створювати помилкові позитиви, якщо те саме слово з’являється у неспоріднених контекстах.
Правду кажучи, я використовую власну модифіковану версію плагіна grep.vim . Це трохи зручніше використовувати:
- Це дозволяє редагувати шаблон пошуку, а також командний рядок grep (так що ви можете орієнтуватися на конкретні папки, як-от
src/ lib/
замість них .
) і запам'ятовує зміни.
- Я додав підтримку для csearch Google . Це може бути набагато швидше, ніж grep, оскільки він будує індекс слів, а не сканує кожен файл кожен раз. Помітно, що csearch використовує дещо інший стандарт regexp, тому його
\b
потрібно використовувати замість \<
і \>
.
Я конфігурую його і виключаю деякі стандартні файли, як цей .
Для швидкого доступу я створюю дві клавіші . F3дозволяє мені редагувати командний рядок, F4використовує раніше налаштований командний рядок без зайвих натискань клавіш. Механізм досить некрасивий, і він міг використовувати деяку очистку, але він мені добре служив.