Se você usar os Sincelos da biblioteca , poderá fazer esse tipo de coisa facilmente. O que você está pedindo (se bem entendi) é pesquisar apenas em determinados contextos de pesquisa .
Por exemplo, como neste caso, você pode querer pesquisar apenas nas definições de função - os contextos de pesquisa são definições de função. No Lisp, isso seria coisas como defun
s.
Sincelos tem vários comandos predefinidos de pesquisa de Sincelos para pesquisar definições como esta. Estes são chamados coletivamente de comandos Icicles Imenu .
Para procurar apenas definições de comando, você pode usar o comando icicle-imenu-command-full
. Para procurar definições de função único não-interativas, comando uso icicle-imenu-non-interactive-function-full
.
Além da pesquisa de definições, você pode definir facilmente qualquer tipo de contexto a ser pesquisado. A maneira mais simples é fornecer uma regexp. O comando icicle-search
solicita a regexp de definição de contexto de pesquisa. Como alternativa, você pode usar uma função para definir os contextos de pesquisa.
Outras possibilidades incluem:
Pesquisando o texto de diferentes tipos de COISAS (por exemplo, sexps, frases, listas, seqüências de caracteres, comentários, elementos XML, ...), ou seja, ignorando outros textos fora das COISAS.
Pesquisando zonas de texto que forneceram propriedades de texto ou sobreposição, ou seja, ignorando outro texto.
NOTA:
Outras respostas aqui mencionadas occur
e similares ( helm-occur
) fornecem um tipo limitado de pesquisa de contexto: os contextos de pesquisa são apenas as linhas de um buffer.
Isso é muito mais limitado que, digamos, pesquisando dentro de definições de funções inteiras, que é o que eu acho que você está pedindo. Com Sincelos , o comando icicle-occur
(vinculado a C-c '
) permite pesquisar dentro de linhas como contextos de pesquisa.
helm-swoop
, mas sua pergunta (e especialmente o título) não é muito clara sobre isso. Talvez eu não tenha entendido sua pergunta porque não estou familiarizado com o leme.