Могу ли я открыть файлы в TextEdit из терминала в Mac OS X?

168

Я часто нахожу, что команда терминала, чтобы открыть файл в TextEdit была бы очень удобной. Существует ли такая команда в Mac OS X?

wfbarksdale
источник
Я пытаюсь открыть Sublime Text из командной строки. Я сделал "открыть -a / Applications / Sublime Text 2.app my_file.txt". Это работает, но создает новое окно каждый раз, когда я хочу открыть файл. Любое исправление?
Мохаммад Могими
1
Если вы хотите это sudo, сначала откройте TextEdit в корневом режиме
cregox
@MohammadMoghimi Попробуйте просто с помощью sublimeкоманды.
Тимоти Мюллер-Хардер

Ответы:

229

open -a TextEdit filename должен сделать свое дело.

-aФлаг указует любое приложение , которое вы хотите, так что это применимо к любому числу ситуаций, в том числе тех , в которых TextEdit не редактор по умолчанию.

Другие соответствующие варианты

  • -t открывается в редакторе по умолчанию (например, если вы используете BBEdit, TextMate и т. д.)
  • -e откроет файл специально в TextEdit
robmathers
источник
2
Наверное, лучшее решение.
Дэвисгик
Если вам нужна программа, в имени которой есть пробелы, вам нужно их экранировать, например, открыть -a Adobe \ Photoshop \ CS6 image.png
Чойлтон Б. Хиггинботтом
Как открыть его с SublimeText3, который находится в / path / SublimeText3?
Emeraldhieu
3
В openруководстве команды вы увидите -e Causes the file to be opened with /Applications/TextEdit. Так что open -e filenameделай то же самое и проще.
DawnSong
Определяются ли доступные приложения как живущие внутри /Applications/?
Даниэль Пендергаст
39

Прямой, простой ответ - добавьте псевдоним в ваш ~ / .bash_profile, например:

alias textedit='open -a TextEdit'

Вызовите это как:

textedit theFiletoEdit.txt

Разница между этим и другим ответом в том, что вы можете легко запомнить его, когда захотите. Ввод textи Tabавтозаполнение сделает его мгновенно доступным


Для тех, у кого немного больше опыта в bash, и тех, кто хочет рассуждать без суеты, чтобы выяснить это:

  • Проблема заключается в том, что тривиальная символическая ссылка (или ее аналог, как перенаправление сценария оболочки) /Applications/TextEdit.app/Contents/MacOS/TextEditзаставляет новый экземпляр TextEditоткрывать файл, который вы передаете ему. Это работает, но не дает ожидаемого поведения Mac OS X по умолчанию. (если вы попробуете, вы увидите)

  • Чтобы получить поведение пользовательского интерфейса по умолчанию, используя встроенную openкоманду Mac с этим флагом '-a TextEdit' (что упоминалось другими), побуждает пользовательский интерфейс Mac иметь (любой) работающий в данный момент экземпляр TextEdit для обработки вызова (без inapropos '). sudo 'необходимо для общего использования).

Мэтт С.
источник
Открытие файла в уже запущенном экземпляре textedit не работает в mojave. Я перепробовал все флаги.
Карл Покус
6

Команда open может использоваться для открытия файлов (в их приложениях по умолчанию, если не используется флаг -a), URL-адресов (в веб-браузере по умолчанию) и каталогов (в Finder).

Примером будет

open /Users/Example/Desktop/example.rtf
Александр
источник
1
Это, вероятно, самый простой способ открывать текстовые файлы для редактирования в графическом редакторе из терминала.
Дэвид Томас
4

Для тех, кто находит этот пост:

Решение было использовать команду sudo open -t /path/file.txt

И страницы руководства для команды open также показывают, как сделать некоторые другие вещи, например, показать файл в поиске.

http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/open.1.html

wfbarksdale
источник
10
Использование sudoненужно и нежелательно.
Крис Пейдж
1
Если файл не доступен для пользователя в противном случае. Но в целом согласился.
Бобсон
2
На самом деле, я просто попытался использовать эту команду с sudo для редактирования /etc/hostsна Lion, и она просто не работает (как и ожидалось). Это не позволяет мне редактировать файл. Только клонируй это. И sudoв этом случае можно обойтись и без . В любом случае файл будет помечен как заблокированный . Чтобы действительно это сделать, сначала нужно открыть TextEdit в корневом режиме или просто использовать другой редактор: apple.stackexchange.com/questions/20199/…
cregox
0

Это не вопрос программирования. Но я сделал быстрый Google и нашел этот сайт:

http://ss64.com/osx/

http://ss64.com/osx/pico.html pico: простой текстовый редактор

http://ss64.com/vi.html vi: Текстовый редактор

И этот сайт объясняет, как использовать TextEdit из терминала.

http://www.tech-recipes.com/rx/2754/os_x_edit_file_using_textedit_as_root_superuser/


источник
1
Ни одна из этих ссылок не демонстрирует, как открыть файл в textEdit.
Последняя ссылка делает.
Это действительно так, спасибо, что добавили, что вы намного быстрее, чем я.
Это работает? Потому что у меня нет опыта работы с Mac OSX (фанат Windows ^^)