Как я могу печатать текст из файла в Mac OS X?
У меня есть текст в ~/myfile.txt
и я хотел бы иметь возможность "напечатать" его в текущем приложении, которое, вероятно, будет TextMate
или же Terminal
Я хотел бы посмотреть, смогу ли я сделать это без использования буфера обмена. У Quicksilver есть классное действие под названием "Тип текста", но оно работает с текущим выделением и не извлекает текст из файла:
Я попытался использовать опцию Quicksilver "сохранить команду в файл", которая сохранила бы его как "Тип My Text.qscommand", который я мог затем изменить на лету и заменить "текст", который был внутри этого файла, и мое мышление было чтобы выполнить такой запуск, который бы напечатал текст, но, очевидно, даже без изменения файла эта команда не работает, если она сохранена в файл и выполнена.
Так что мои другие мысли - возможно, использовать
- Typinator
- TextExpander
- Applescript
- может быть какая-то другая макропрограмма?
настроить способ ввода текста из файла (~/myfile.txt
) в текущем приложении, но я не уверен, как это сделать.
2 ответа
Вот что работает, если ваш текст состоит только из одной строки: выберите текстовый файл на первой панели, на нем стрелку вправо, затем выберите "Вставить" на панели действий.
Я думаю, что вам нужен плагин Text Manipulation, чтобы можно было стрелять вправо в текстовые файлы.
Вы можете сделать это с помощью Automator. Выберите, чтобы создать службу, которая не получает входных данных ни в одном приложении, чьи выходные данные заменяют выделенный текст (для этого на самом деле не требуется выделение текста).
Добавьте действие Get Specified Finder Items и добавьте
myfile.txt
к его списку. Вы также можете жестко закодировать путь к файлу ниже и пропустить этот шаг.Затем добавьте действие " Выполнить сценарий оболочки" и передайте входные данные в качестве аргументов. Заменить по умолчанию
echo
командоватьcat
,
Это приведет к тому, что содержимое файла будет выводом вашего сервиса, который будет добавлен к текущему документу, который вы редактируете.
TextMate работает как положено.
Терминал игнорирует один завершающий символ новой строки при вставке текста, то есть вам нужно два, если вы хотите напрямую выполнить последнюю строку в качестве команды.