Une question assez basique sur Helm. Quelle est la fenêtre / commande / fonctionnalité de Helm qui nous permet de rechercher du texte (de préférence en utilisant regexp
) dans n'importe quel type de tampon (c'est-à-dire, y compris en lecture seule comme w3m
)?
En d'autres termes, je cherche l'équivalent de Helm des commandes natives d'Emacs pour isearch-forward
( C-s
) / isearch-backward
( C-r
).
Pour illustrer: après avoir invoqué l'une des isearch
commandes natives ( C-s
ou C-r
), nous pouvons quitter le mode de recherche de deux manières:
nous pouvons quitter et revenir au point d'origine (via
C-g
), ounous pouvons quitter et continuer la navigation dans le tampon à partir du point actuel, c'est-à-dire du texte actuellement mis en correspondance (via,
RET
entre autres).
Je recherche la deuxième de ces deux options.
Voici ce que j'ai essayé jusqu'à présent:
helm-regexp
: c'est la chose la plus proche de ce que je recherche, mais elle n'effectue que l'équivalent deC-s
/C-r
+C-g
(c'est-à-dire qu'elle nous ramène au point d'origine; aucune option pour terminer la recherche et continuer à parcourir le tampon à partir de la correspondance actuelle point).helm-do-grep
: il semble que ce soit uniquement pour la recherche de texte dans les fichiers (c'est-à-dire, ne fonctionne pas sur w3m)helm-buffer-run-grep
/-zgrep
: l'exécution de cette commande / fonction entraîne un message d'erreur dans le mini-tampon:Running helm command outside of context
Quand
helm-mode
est activé, invoqueC-s
ouC-r
fait apparaître laisearch
fonctionnalité native d'Emacs (elle n'est pas remplacée par l'interface de Helm). (Peut-être y a-t-il un paramètre que nous pouvons changer pour que Helm puisse reprendre cette commande? c'est-à-dire, similaire à la façon dont Helm reprend la commande native pourwrite-file
(C-x C-w
) qui peut être utilisée pour renommer un fichier dans un tampon ouvert. juste un remue-méninges.)
helm-occur
avecfollow-mode
activé.Réponses:
Vous pouvez utiliser helm-occur comme un outil fourni avec le module de barre de base pour cela. Mais pour moi, l'un des meilleurs outils à base de barre pour la recherche de tampon est le swoop-helm de Shingo Fukuyama . Vous pouvez l'obtenir sur github et via MELPA. Il a la fonctionnalité requise pour pouvoir déposer votre point à la position du match (qui peut être une expression régulière). Mais vous pouvez également utiliser Cg pour ramener le curseur là où vous avez commencé.
Sur la page github de helm-swoop, vous trouverez tout un tas d'autres fonctions utiles que ce package offre (y compris des recherches multi-tampons par helm-multi-swoop et la possibilité de modifier les lignes des résultats, afin que les changements soient appliqué au tampon sous-jacent).
la source
helm-swoop
est vraiment une version améliorée dehelm-occur
.helm-swoop
... et je n'y retournerai jamais! MerciVous pouvez utiliser
helm-occur
pour voir toutes les lignes qui contiennent des correspondances pour votre modèle de recherche. Vous pouvez utiliserC-n
etC-p
pour parcourir la liste, puis appuyez surRET
pour fermer le tampon Helm et déplacer votre curseur sur la ligne correspondante.J'aime activer
helm-follow-mode
lorsque j'utilisehelm-occur
pour que la fenêtre source affiche toujours le contexte de la correspondance actuellement sélectionnée. Vous pouvez activer automatiquement le mode suivi comme suit:la source