OSX «открыть» команду для создания новых файлов с приложением - PullRequest
1 голос
/ 23 декабря 2011

Итак, мне нравится использовать TextWrangler для редактирования кода в OSX, и я склонен использовать терминал для управления моим рабочим процессом.Обычно я использую псевдоним bash:

alias text='open -a /Applications/TextWrangler.app'

Однако этот метод не позволяет мне открывать новые файлы на лету из командной строки.Например, если бы я набрал emacs newfile.py, он временно создал бы новый файл, но не трогал его, пока я фактически не сохранил файл.Однако с моим псевдонимом, если newfile.py не существует, я получаю сообщение об ошибке, и мне приходится вручную дотрагиваться до файла, а затем открывать его.этот?Или сторонние альтернативы команде open?Или это просто фундаментальное ограничение для графических редакторов?

Ответы [ 3 ]

1 голос
/ 23 декабря 2011

Я думаю, что вам нужен полноценный сценарий оболочки, а не просто псевдоним.Создайте файл со следующим содержимым:

if [ -e "$1" ]; then
  open -a TextWrangler -- "$1"
else
  touch "$1"
  open -a TextWrangler -- "$1"
fi

Сохраните его как text где-нибудь в вашей переменной PATH и выполните команду chmod, чтобы он был исполняемым, и вы великолепны.

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

if [ -e "$1" ]; then
  open -a TextWrangler -- "$1"
else
  touch "$1"
  open -a TextWrangler -- "$1"
  sleep 1
  rm "$1"
fi

Это фактически создаст файл и затем удалит его через секунду.Однако в приложении по-прежнему будет открыт файл, поэтому при сохранении он будет воссоздан.

1 голос
/ 23 декабря 2011

Как насчет создания функции вместо псевдонима в файле запуска (.bashrc, .profile и т. Д.).

newf() {
    echo "$1" | xargs touch; open -a "/Applications/TextWrangler.app" "$1"
} 

После добавления,Исходный код вашего скрипта запуска и просто сделайте следующее, чтобы использовать это -

newf dummyfile.txt

, и Text Wrangler появится с пустым файлом с именем dummyfile.txt.

0 голосов
/ 23 декабря 2011

Если у вас есть старший брат TextWrangler BBEdit, он поставляется с инструментами командной строки bbedit и bbdiff, которые дают вам поведение, которое вы ищете, а также множеством других полезных функций.

...