Disons que j'ai 10 tampons ouverts et que je veux trouver toutes les occurrences de blah
dans les 10 tampons. Comment je ferais ça?
Si vous vous en tenez aux commandes Emacs intégrées, vous pouvez utiliser multi-occur
ou multi-occur-in-matching-buffers
( M-x multi-occur- TAB RET
). multi-occur
vous donne un contrôle précis en vous invitant à utiliser chaque mémoire tampon, mais c'est fastidieux. multi-occur-in-matching-buffers
vous permet d'entrer une expression rationnelle pour faire correspondre les noms de fichiers (elle recherche uniquement dans les mémoires tampons qui visitent des fichiers); entrez .
comme expression rationnelle de fichier pour effectuer une recherche dans tous les tampons qui visitent un fichier.
Il existe également des fonctions de recherche incrémentielle dans une liste de mémoires tampons ou de fichiers, mais elles sont fastidieuses, multi-occur
car elles nécessitent la liste des mémoires tampons ou des fichiers un par un.
Vous pouvez utiliser pour rechercher dans tous les fichiers d'un répertoire ou dans des fichiers correspondant à certains modèles, qu'ils soient ouverts ou non grep
. Il existe des variantes rgrep
et grep-find
de rechercher récursivement les sous-répertoires.
.
c'est l'expression régulière qui correspond à tous les fichiers.En plus de ce que d’autres ont mentionné, voici deux autres ressources pour cela.
M-x multi-isearch-buffers
ouM-x multi-isearch-buffers-regexp
(vanilla Emacs) - Recherche incrémentielle sur plusieurs tampons.Si vous utilisez des glaçons, vous pouvez utiliser
icicle-search
(ouicicle-occur
un nombre quelconque d'autresicicle-search
spécialisations) pour effectuer une recherche dans plusieurs fichiers ou tampons.(En plus de la recherche et du remplacement dans des mémoires tampons arbitraires , il existe bien sûr des commandes qui le font dans plusieurs fichiers . D'autres l'ont mentionné
grep
, par exemple. Et il y a bien sûrA
dans Dired. Mais vous n'avez pas posé de question sur la recherche de fichiers.)la source
Cela peut être fait avec helm via la commande
helm-multi-occur
. Vous pouvez installer helm depuis melpa , puis appeler la commande comme suit:Cela ouvrira
helm-multi-occur
et sélectionnera tous les tampons. Au lieu d'utiliserM-a
pour marquer tous les tampons, vous pouvez éventuellement les sélectionner un à un. Parcourez la liste avecC-n
etC-p
et marquez les tampons avecC-SPC
. Une fois que tous les tampons sont marqués, appuyez surRET
pour accepter les tampons marqués et lancer la recherche.Si vous ajoutez les éléments suivants à votre fichier d'initialisation:
Vous pouvez ensuite lier la commande
my-helm-multi-occur-buffers
pour effectuer plusieurs événements dans tous les tampons sauvegardés par des fichiers.la source
helm-swoop
paquet dans MELPA. Il fournit cette fonctionnalité et permet également une édition rapide des résultats.swiper-all
du paquet swiper fournit un outil pour cela. C'est même incrémental, donc il se met à jour au fur et à mesure que vous tapez.la source
Vous pouvez utiliser le
ibuffer
mode pour marquer les tampons que vous souhaitez rechercher. Appelezibuffer-do-isearch
(lié àM-s a C-s
par défaut) pour rechercher du texte ouibuffer-do-isearch-regexp
si vous devez rechercher une expression régulière.Si vous n'êtes pas familier avec
ibuffer
, lancez- le et jetez un coup d'œil au menu Marquer pour voir toutes les façons dont vous pouvez choisir un ensemble de mémoires tampons sur lesquelles vous souhaitez travailler.la source
Voici une autre façon avec la barre:
M-x helm-mini M-a C-s blah
. Après avoir appeléhelm-mini
,M-a
marquera tous les tampons d'ouverture puisC-s blah
fera plusieurs sur les tampons marqués.la source
En outre, une solution utilisant le mode helm existe
helm-swoop
.Utilisation
puis, pour rechercher dans tous les tampons ouverts, tapez
Ensuite, tapez simplement
blah
pour le rechercher dans tous les tampons. Dans une autre fenêtre, toutes les occurrences seront affichées.Alternativement, vous pouvez simplement taper
puis, marquer tous les tampons que vous souhaitez rechercher avec
M-SPC
ouC-SPC
, appuyez surRET
et rechercheblah
.la source