Sublime Text 2 - найти и заменить глобально (все файлы и во всех каталогах)


Ответы:


234

Да, есть поиск и замена нескольких файлов .

Нажмите ctrlshiftF( cmdshiftFв MacOS):

введите описание изображения здесь

В Whereполе вы также можете добавить фильтры для поиска только тех папок и файлов, которые вам нужны. Если ничего не задано, поиск выполняется по всем файлам, перечисленным на боковой панели.

Если вы дважды щелкните строку результата поиска, Sublime перейдет к этой строке.

Обратите внимание на эти значки в строке поиска:

введите описание изображения здесь

Первый ( показать контекст ) переключает контекст в формате результата (если он включен, некоторые строки текста отображаются до и после соответствующей строки). Второй позволяет показать результат в новом буфере или в консоли.


2
Есть ли способ контролировать, какие из найденных случаев в «Найти в файлах» будут заменены? Кнопка «Заменить» выполняет Replace_All.
Джордж Шоу

Я думаю, что единственный способ - использовать поиск по нескольким файлам, чтобы получить файлы, которые вам нужно изменить, а затем использовать обычный поиск и замену (cmd + alt + F), файл за файлом.
Риккардо Маротти

Я не претендую на то, что знаю больше, чем сам создатель ST, но вы можете просто закрыть файлы (щелчок средней кнопкой мыши или ctrl + w), в которых вам не нужны изменения, а затем нажать заменить. После этого вы можете использовать Ctrl + Shift + t, чтобы снова открыть закрытые файлы. Вы также можете «добавить фильтр исключения», нажав кнопку посередине (многоточие), и записать файлы, в которых вы не хотите заменять.
Иван Кастелланос

6
Если вы введете <project>поле «Где», он будет рекурсивно искать во всех папках и файлах в текущем открытом проекте. Вы также можете ввести относительный путь (например, search/for/things/here/поиск будет выполняться только в этой папке, рекурсивно, относительно корня вашего проекта. Очень удобно.
Джеффбирнес,

2
Для этого, где по умолчанию появляется поле поиска и замены (ctrl + H), я добавил это в свои пользовательские сочетания клавиш:{ "keys": ["ctrl+h"], "command": "show_panel", "args": {"panel": "find_in_files"} }
reflexiv

8

Нажмите ctrlshiftF( cmdshiftFв  Mac OS X :) и введите *.*в where:поле

Это откроет поиск по всем файлам в проекте, а не только по открытым файлам или папкам.

Вы также можете использовать это для поиска только файлов определенного типа или с определенным именем независимо от типа. Это просто символы подстановки для имени файла и расширения.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.