Вопрос

Каковы варианты действительно быстрого поиска «Найти в файлах» в VIM?

Наша кодовая база достаточно велика, поэтому поиск должен осуществляться по индексу.grep/vimgrep/etc работают слишком медленно.

Индексирование не должно быть особенно быстрым;Я могу индексировать за ночь.

Спасибо,

[EDIT] Я также работаю в среде Windows.

Это было полезно?

Решение

Если это исходный код (а не полнотекстовый поиск), то ctags с плагином TagList должны хорошо подойти для ваших нужд.См., например:

http://www.thegeekstuff.com/2009/04/ctags-taglist-vi-vim-editor-as-sourece-code-browser/

РЕДАКТИРОВАТЬ:TagList и ctags также будут работать в Windows (это то, что я использую).См. страницу установки TagList и раздел часто задаваемых вопросов.Следующие ссылки могут оказаться полезными:

Также существует форум TagList, где вы можете получить дополнительную помощь:

http://tech.groups.yahoo.com/group/taglist/

Некоторое время назад я установил его на своем компьютере с Windows, но не помню, чтобы сталкивался с какими-либо проблемами.

Другие советы

Кое-что, что я использую, но не через vim, — это ack: http://betterthangrep.com/

Это инструмент на основе Perl, и его можно использовать в Windows.

Если вы работаете с большой базой кода, возможно, пришло время поискать более мощное решение, чем традиционные инструменты. ОпенГрок это очень быстрый механизм поиска исходного кода и перекрестных ссылок.Помимо своей высокой производительности, он интегрируется с Подрывная деятельность, Меркуриальный, и ClearCase, среди другого программного обеспечения для контроля версий.Это очень похоже на то, что вы могли бы использовать.

Если вам нужна поддержка использования OpenGrok из Vim, вы можете легко написать функцию vim, которая будет вызывать system() чтобы начать поиск вас.Чтобы узнать больше о написании новых команд vim, найдите :help 40.2 внутри вим.

Надеюсь, это то, что вы искали.

Не знаю, как я это нашел, но похоже, кто-то написал плагин для Google рабочий стол

Попробуйте установить https://github.com/mileszs/ack.vim, http://beyondgrep.com/ ,

тогда сделай ссылку

ln -s /usr/bin/ack-grep /usr/bin/ack 

и добавить

noremap <C-f> :copen<CR>:Ack -aQi --ignore-dir someignoringdir

в ваш .vimrc, после того как вы сможете найти файлы с помощью Ctrl+F, наслаждайтесь

_   /|
\'o.O'
=(___)=
   U  

Вы можете попробовать это

:vimgrep /что-то/ */

и не забудьте после этого открыть окно результатов поиска

:кх

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top