Eu me vejo segurando a mesma base de código repetidamente. Embora funcione bem, cada comando leva cerca de 10 segundos, por isso estou pensando em maneiras de torná-lo mais rápido.
Então, pode grep
usar algum tipo de índice? Eu entendo que um índice provavelmente não ajudará em regexps complicados, mas eu uso principalmente padrões muito simples. Existe um indexador para este caso?
EDIT: Eu sei sobre ctags e coisas do gênero, mas gostaria de fazer uma pesquisa em texto completo.
Respostas:
e quanto à cscope , isso combina com seus sapatos?
Permite pesquisar código para:
fonte
Indexação de texto completo
Existem ferramentas como recoll , swish-e e sphinx, mas você teria que verificar se elas suportam o tipo de critério de pesquisa que você precisa.
Recoll
Swish-e
Esfinge
grep
Estou surpreso que grep seja tão lento quanto você descreve, você pode reduzir o número de arquivos sendo pesquisados? Por exemplo, quando eu só preciso pesquisar nos arquivos de origem um executável (dentre muitos em um projeto), eu alimento o grep os nomes de um comando que lista os arquivos de origem para esse programa:
sources
é um programa específico para o meu ambiente de desenvolvimento, mas você pode ter (ou conseguir construir) algo equivalente.Suponho que você tenha tentado técnicas óbvias, como
Eu li uma sugestão de que a
-P
opção atualgrep
pode acelerar significativamente as pesquisas.fonte
grep, não. Mas existem vários programas que usam índices e visam à base de código.
ctags
(existe uma versão fornecida com o vim),etags
(destinada ao uso com o emacs),global
(mais independente do editor) são as que estou pensando agora, mas provavelmente existem outras.fonte
Você pode copiar sua base de código em um disco RAM.
fonte
se você quiser usar um mecanismo de pesquisa de texto completo. use um:
fonte
Não, eu não penso assim. Mas pode haver uma solução simples: tente aceitar. Eu acho que se você der uma chance, você o achará significativamente mais rápido que o grep, requer seqüências de caracteres mais curtas para obter melhores resultados de pesquisa e possui muitos recursos desejáveis, enquanto usa as mesmas opções de comando. Uma coisa que a torna mais rápida (embora não indexada) é que ela ignora muito mais coisas que você não deseja pesquisar. Está escrito em Perl e usa as expressões regulares do Perl (e, portanto, também possui portas Mac e Windows).
http://betterthangrep.com/
fonte