Великолепные инструменты для поиска и замены в файлах? - PullRequest
10 голосов
/ 02 марта 2010

Я перехожу с Windows-специфичного редактора на VIM на философию «используй один редактор для всего и изучай его очень хорошо».

Однако в PHP-редакторе мне понравилась одна функция - найти и заменить. Я мог бы подойти к делу двумя способами:

  • Просто найди . Найдите строку во всех файлах проекта, просмотрите все перечисленные вхождения и нажмите, чтобы погрузиться в этот файл в этой строке.
  • Слепо замените все вхождения "foo" на "bar".

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

Сейчас я пытаюсь приблизить эту способность, и попытка собрать ее вместе с bash довольно утомительна. Выполнимо, но утомительно.

Кто-нибудь знает какие-нибудь замечательные инструменты для таких вещей, как эта, для Linux и / или Windows? ( Я бы действительно предпочел GUI, если это возможно. ) Или, если это не удастся, скрипт bash, который хорошо справляется со своей задачей? (Если бы в нем были перечислены имена файлов и номера строк и показаны фрагменты кода, это было бы здорово.)

Ответы [ 14 ]

0 голосов
/ 02 марта 2010

Некоторые разработчики, с которыми я сейчас работаю, клянутся Textpad . Он имеет пользовательский интерфейс, а также поддерживает использование регулярных выражений - все, что вы ищете и многое другое.

0 голосов
/ 02 марта 2010

Команда grep -rn "search terms" * будет искать указанные термины во всех файлах (в том числе в подкаталогах) и будет возвращать совпадающие строки, включая имя файла и номер строки.Вооружившись этой информацией, можно легко перейти к определенному файлу / строке в VIM.

Как упоминалось ранее, sed чрезвычайно эффективен для поиска и замены.

Вы можете запустить оба этих инструмента изнутри VIM.

0 голосов
/ 02 марта 2010

Notepad ++ поддерживает подсветку синтаксиса на многих языках и поддерживает поиск и замену во всех открытых файлах регулярное выражение и базовую поддержку \ n \ r \ t .

0 голосов
/ 02 марта 2010

изучите sed ... мощный инструмент командной строки, который должен выполнить большую часть того, что вы ищете ... он поддерживает регулярные выражения, поэтому поиск / замена довольно прост. (человек сед)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...