Как выполнить множественный поиск и замену в TextMate помимо макроса? - PullRequest
2 голосов
/ 16 сентября 2010

У меня есть несколько регулярных выражений для поиска и замены текста в документах в TextMate. Я бы хотел, чтобы они работали партиями. Я сделал макрос, и он работал, но любые крошечные изменения в макросе означают перезапись макроса. И я не могу изменить регулярное выражение в интерфейсе TextMate. По какой-то причине он доступен только для чтения.

Могу ли я сделать это в команду? Кто-нибудь знает как? Я пытался прочитать справку TextMate о командах, но это не сильно помогло. Кажется, мне нужно предварительное знание сценариев оболочки или какого-то рода (которых у меня нет). Любой совет в этом направлении был бы великолепен.

Спасибо заранее.

1 Ответ

0 голосов
/ 06 января 2011

Во-первых, можно редактировать макросы. Поскольку это самое простое решение для вас, вот как вы это делаете:

  1. Запишите новый макрос и сохраните его в TheBundleOfYourChoice
  2. Перезагрузка комплектов через «Связки»> «Редактор комплектов»> «Перезагрузка комплектов»
  3. Откройте файл "~ / Библиотека / Поддержка приложений / TextMate / Bundles / TheBundleOfYourChoice.tmbundle / Macros / NameOfYourMacro.tmMacro" в TextMate (вы можете получить доступ к любому пути, включая скрытые, если вы нажмете Command-Shift-G, когда в диалоге «Открыть файл»)
  4. Измените XML-представление макроса в соответствии с вашими потребностями
  5. Перезагрузить пакеты снова
  6. Использовать обновленный макрос

Это решение может быть самым легким для вас, потому что оно не требует изучения языка сценариев и должно быть приемлемо для незначительных изменений. Однако другой очень разумный подход - это выбрать язык сценариев по вашему выбору и просто создать команду, которая запускает ваши регулярные выражения. Вы можете использовать Perl, Python, Ruby, Bash и так далее. Простое решение должно быть bash с sed. sed - это небольшой инструмент, единственное предназначение которого - обработка текста, и он должен быть идеальным для вас. bash является языком сценариев по умолчанию, поэтому проблем не должно быть. Вы как-нибудь разберетесь и многому научитесь. Попробуйте! :)

...