Textmate / Regex: убрать пробел из начала / конца файла - PullRequest
1 голос
/ 10 марта 2010

Я пытаюсь добавить макрос / команду в Textmate для некоторой очистки файла, и последний лакомый кусочек, который я не понял, это просто удалить пустые строки из начала и конца файла - кто-нибудь знает, как сделай это? Я знаю, что должен существовать какой-нибудь трюк TextMate или регулярных выражений, но не знаю, что ...

Ответы [ 3 ]

5 голосов
/ 10 марта 2010

Для упомянутых вами задач вы можете использовать встроенные команды из набора «Текст».

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

Чтобы получить доступ к этим:

Удаление пробелов:

  • ctrl-cmd-t , чтобы вызвать контекстно-зависимое меню Bundle

  • начните печатать "убрать трейлинг", прежде чем закончить "удалить", вы должен увидеть «Удалить трейлинг» Пробелы "Командный ход на вершину меню (эта команда находится в Пакет "Текст", один из Пакетов входит в TextMate)

  • «enter» выполнит команду (предположим, что курсор расположен правильно и т. д.)

В качестве альтернативы, вы можете получить доступ к этой Команде, используя эквивалент ключа, но поскольку она не назначена в установке TextMate по умолчанию, вам нужно будет назначить ее самостоятельно, что просто сделать:

  • ctrl-alt-cmd-b , чтобы вызвать Редактор пакетов

  • найдите текстовый пакет, затем нажмите команда «Удалить завершающие пробелы»

  • В верхнем правом углу Редактор, переключите « Настройки » и введите или эквивалент ключа или вкладка триггер "(который активируется ввод некоторой комбинации клавиш, которую вы назначенный, сопровождаемый клавишей табуляции.

Удалить ведущие пробелы:

Это макрос, а не команда. Возможно, проще всего получить к нему доступ через предварительно настроенный эквивалент ключа, равный cmd-del

2 голосов
/ 10 марта 2010

Это регулярное выражение удалит пробелы в начале файла

Найдите ^[\r\n\t ]+ и замените на (ничего).

А этот уберет пробел в конце

Найдите [\r\n\t ]+$ и замените на (ничего).

Я никогда не использовал регулярные выражения Textmate. Может быть класс \s (пробел), который вы можете использовать вместо [\r\n\t ]. Также вам может понадобиться включить многострочный режим, если он есть.

1 голос
/ 03 апреля 2013

, чтобы соответствовать, используйте следующий regEx

^[ ]+|[ ]+$

и замените его на пустую строку ("")

...