Вы можете сделать это с помощью Automator. Выберите для создания службы, которая не получает входных данных ни в одном приложении, чьи выходные данные заменяют выделенный текст (для этого на самом деле не требуется выделение текста).
Добавьте действие Get Specified Finder Items и добавьте
myfile.txt
его в список. Вы также можете жестко закодировать путь к файлу ниже и пропустить этот шаг.Затем добавьте действие « Выполнить сценарий оболочки» и передайте входные данные в качестве аргументов . Заменить команду по умолчанию
echo
наcat
.
Это приведет к тому, что содержимое файла будет выводом вашего сервиса, который будет добавлен к текущему документу, который вы редактируете.
TextMate работает как положено.
Терминал игнорирует один завершающий символ новой строки при вставке текста, т.е. вам нужно два, если вы хотите напрямую выполнить последнюю строку в качестве команды.