Si vous utilisez la bibliothèque Icicles, vous pouvez facilement faire ce genre de chose. Ce que vous demandez (si je comprends bien), c'est de rechercher uniquement dans certains contextes de recherche .
Par exemple, comme dans ce cas, vous souhaiterez peut-être rechercher uniquement dans les définitions de fonction - les contextes de recherche sont des définitions de fonction. Dans Lisp, ce serait des choses comme l' defun
art.
Icicles a plusieurs commandes de recherche Icicles prédéfinies pour rechercher des définitions comme celle-ci. Celles-ci sont collectivement appelées commandes Icicles Imenu .
Pour rechercher uniquement les définitions de commandes, vous pouvez utiliser la commande icicle-imenu-command-full
. Pour rechercher uniquement des définitions de fonctions non interactives, utilisez la commande icicle-imenu-non-interactive-function-full
.
Au-delà de la recherche de définitions, vous pouvez facilement définir tout type de contexte à rechercher. La manière la plus simple est de fournir une expression rationnelle. La commande icicle-search
vous invite à indiquer l'expression rationnelle de définition du contexte de recherche. Vous pouvez également utiliser une fonction pour définir les contextes de recherche.
D'autres possibilités incluent:
Rechercher le texte de différents types de choses (par exemple, sexps, phrases, listes, chaînes, commentaires, éléments XML, ...), c'est-à-dire ignorer tout autre texte en dehors des choses.
Recherche de zones de texte qui ont donné des propriétés de texte ou de superposition, c'est-à-dire en ignorant un autre texte.
REMARQUE:
D'autres réponses ici mentionnées occur
et similaires ( helm-occur
) fournissent un type limité de recherche de contexte: les contextes de recherche ne sont que les lignes d'un tampon.
C'est beaucoup plus limité que, disons, la recherche dans des définitions de fonctions entières, ce que je pense que vous demandez. Avec Icicles , la commande icicle-occur
(liée à C-c '
) vous permet de rechercher dans les lignes en tant que contextes de recherche.
helm-swoop
, mais votre question (et surtout le titre) n'est pas très claire à ce sujet. Peut-être que je n'ai tout simplement pas compris votre question parce que je ne connais pas la barre.