Sublime text 2 - rechercher et remplacer globalement (tous les fichiers et dans tous les répertoires)

121

Y a-t-il un moyen de le faire find and replace text string automatically in all folder's files?

c'est moi
la source

Réponses:

234

Oui, il existe une recherche et un remplacement de fichiers multiples .

Appuyez sur ctrlshiftF( cmdshiftFsur MacOS):

entrez la description de l'image ici

Dans le Wherechamp, vous pouvez également ajouter des filtres pour rechercher uniquement les dossiers et fichiers dont vous avez besoin. Si rien n'est défini, la recherche est effectuée sur tous les fichiers répertoriés dans la barre latérale.

Si vous double-cliquez sur une ligne du résultat de la recherche, Sublime passera à cette ligne.

Notez ces icônes dans la barre de recherche:

entrez la description de l'image ici

Le premier ( afficher le contexte ) fait basculer le contexte dans le format de résultat (si activé, certaines lignes de texte sont affichées avant et après la ligne correspondante). Le second permet d'afficher le résultat dans un nouveau tampon, ou dans une console.

Riccardo Marotti
la source
2
Existe-t-il un moyen de contrôler lequel des cas trouvés dans «Rechercher dans les fichiers» est remplacé? Le bouton Remplacer fait Replace_All.
George Shaw
Je pense que le seul moyen est d'utiliser la recherche de fichiers multiples pour obtenir les fichiers que vous devez modifier, puis d'utiliser la recherche et le remplacement normaux (cmd + alt + F), fichier par fichier.
Riccardo Marotti
Je ne prétends pas en savoir plus que le créateur de ST lui-même, mais vous pouvez simplement fermer les fichiers (clic du milieu de la souris ou ctrl + w) là où vous n'avez pas besoin de faire les modifications, puis cliquez sur remplacer. Ensuite, vous pouvez utiliser Ctrl + Maj + t pour rouvrir les fichiers fermés. Vous pouvez également "ajouter un filtre d'exclusion" en cliquant sur le bouton au milieu (les points de suspension) et noter les fichiers où vous ne voulez pas de remplacement.
Ivan Castellanos
6
Si vous mettez <project>dans le champ "Où", il effectuera une recherche récursive dans tous les dossiers et fichiers du projet actuellement ouvert. Vous pouvez également taper un chemin relatif (par exemple, search/for/things/here/et il ne recherchera que dans ce dossier, de manière récursive, par rapport à la racine de votre projet. Très pratique.
jeffbyrnes
2
Pour que ce champ where apparaisse par défaut avec la recherche et le remplacement (ctrl + H), j'ai ajouté ceci à mes combinaisons de touches utilisateur: { "keys": ["ctrl+h"], "command": "show_panel", "args": {"panel": "find_in_files"} }
reflexiv
8

Appuyez sur ctrlshiftF( cmdshiftFsur  Mac OS X :) puis mettez *.*dans le where:champ

Cela ouvrira la recherche à tous les fichiers du projet, par opposition aux fichiers ou dossiers ouverts uniquement.

Vous pouvez également l'utiliser pour rechercher uniquement les fichiers d'un certain type, ou avec un certain nom quel que soit le type. Ce ne sont que des caractères génériques pour le nom de fichier et l'extension.

Mike Lyons
la source