Заменить Text Edit в качестве текстового редактора по умолчанию


91

Я видел такие вопросы, которые не совсем решают мою проблему.

Я хотел бы сделать Sublime Text 3 средством просмотра / редактирования файлов по умолчанию для всех файлов, которые в настоящее время используют textedit.

Большинство из этих файлов могут быть command+ i'd, но те, которые не имеют расширения, не могут. Они дают всевозможные ошибки прав доступа, такие как те в этом изображениинедостаточно информации доступно

Есть ли способ просто никогда не использовать textedit, и вместо этого установить Sublime в качестве редактора по умолчанию для всех файлов ?


2
Интересно, должен ли заголовок этого вопроса быть чем-то вроде «Заменить текстовое редактирование в качестве текстового редактора по умолчанию», чтобы он отображался в поисках, которые не ссылаются на возвышенный текст.
Дуайтк

1
@dwightk хорошая точка зрения, обновил его сейчас
wrossmck

Будет ли это работать лучше, если вы дадите файлу расширение или расширение Unhide в GetInfo ..?
Zo219

@ Zo219 нет, некоторые файлы просто не имеют / нуждаются в расширениях, и этот вопрос направлен на настройку редактора по умолчанию, а не на использование неоптимального обходного пути для достижения аналогичного результата.
Wrossmck

Ответы:


49

Установите Sublime Text в качестве обработчика по умолчанию для public.plain-text

defaults write com.apple.LaunchServices LSHandlers -array-add \
'{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.sublimetext.3;}'

Этот ответ для Маверикс и ранее.

Для Yosemite и более поздних версий используйте com.apple.LaunchServices / com.apple.launchservices.secure .

defaults write com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers -array-add \
'{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.sublimetext.3;}'

Не забудьте перезагрузить, чтобы забрать изменения.


2
@Ross Да (или выйдите из системы и вернитесь, если не пользователь root).
grg

1
Хм, так что мне это не помогло. (после полного перезапуска.) И я проверил, что запись находится в нужном месте в launchServices.plist
wrossmck

1
Интересно, что это действительно работает, если я делаю open file2в терминале или даже двойным щелчком. Я думал, что это не работает, потому что, если я получаю информацию об этом, это показывает, что он открывается с TextEdit.
wrossmck

1
@Justin Похоже, что после еще одного полного перезапуска file->infoтеперь отображается, что Sublime является приложением по умолчанию. Я почти уверен, что я не сделал ничего другого, чтобы изменить результат.
wrossmck

1
В OS X Yosemite мне нужно было отредактировать ~ / Library / Preferences / com.apple.LaunchServices / com.apple.launchservices.secure.plist В то время как вышеуказанная команда создала файл ~ / Library / Preferences / com.apple.LaunchServices.plist, который не имел никакого эффекта.
DonnaLea

43

Другой вариант - использовать duti ( http://duti.org / https://github.com/moretension/duti ).

Запустите brew install duti, сохраните тип файла следующим образом:

duti -s com.sublimetext.3 public.plain-text all

Изменения должны быть применены немедленно, поэтому вам не нужно перезапускать, как при редактировании com.apple.LaunchServices.plist.

Чтобы также изменить приложение по умолчанию для исполняемых скриптов без расширения имени файла, добавьте следующую строку:

duti -s com.sublimetext.3 public.unix-executable all


1
При запуске duti против файла я получаю сообщение об ошибке line 1: line too long. Я смог обойти это, не используя файл настроек и звоня duti -s com.sublimetext.3 public.plain-text allиз строки cmd
KyleMit

Это сработало для меня. Использование defaultsне работает.
Натанкахилл,

1
@KyleMit вам нужна пустая строка в конце файла, чтобы избежать ошибки слишком длинной строки.
Терри

1
также работает с org.vim.MacVim!
Руохола

2
duti.org больше не существует.
сорин

38

Я пробовал решение grgarside в прошлом и считаю, что оно сработало. Однако в Йосемити и Эль-Капитане у меня возникли проблемы.

Комментарий DonnaLea в этом решении подсказал мне, как создать решение. Я добавил путь к папке, прежде com.apple.launchservicesчем файл имел немного другое имя com.apple.launchservices.secure.

Вы можете увидеть изменяемый файл / папки по следующему пути:

/user/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist

Скриншот для справки: введите описание изображения здесь

Вот команда, которую я использовал в терминале:

defaults write com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers -array-add \
'{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.sublimetext.3;}'

Наконец, после перезагрузки моей машины все заработало, как рекламировалось.


5
Спасибо за указание, что мой ответ устарел. Я указал, для каких версий OS X работает мой ответ, и дал ссылку на этот ответ.
grg

1
Спасибо! Можно подтвердить это, чтобы работать на Эль-Капитан. Больше не нужно редактировать текст при открытии Podfile :)
Лорд Жолт

У меня установлен возвышенный текст 3, но нет файла настроек com.sublimetext.3: нужно ли его создавать?
Лин

21
  1. Щелкните правой кнопкой мыши файл .txt в Finder.
  2. Выберите «Получить информацию».
  3. Разверните «Открыть с помощью» и выберите нужный текстовый редактор в раскрывающемся списке.
  4. Нажмите кнопку «Изменить все ...» под раскрывающимся списком, а затем подтвердите в появившемся диалоговом окне «Продолжить».

Это работает на Yosemite (OS X 10.10).


9
Это не отвечает на вопрос. Вопрос в том, как это сделать для всех файлов, даже для тех, которые не имеют расширения.
wrossmck

Даже если ответ немного не по теме, он все равно выручил меня из поиска Google. +1
Тедди

wrossmck Вы в основном правы - мой ответ даже повторяет упомянутые вопросы и ответы в первой строке этого вопроса. Но я не замечал этого до тех пор, пока сам не собрал свой ответ из других ответов на этой странице и не опубликовал этот ответ. Возможно, проблема в том, что поиск простого ответа (например, файлов .txt) ведет на эту страницу, а не на другие (как я и нашел @Teddy).
Дэвид Резник

@wrossmck Это работает для меня в Высокой Сьерре. После того, как я сделал это текстовый файл, набрав что - то вроде open -t script.sqlеще открыл в своем текстовом редакторе , который я установил , используя эти направления, даже если расширение не .txt
Марк Уайт

14

Предлагаемые здесь решения прекрасно работают для Sublime, но я хотел сделать это для Visual Studio Code. Единственное отличие состоит в том, что вы должны найти «идентификатор пакета приложения» для любого текстового редактора, который вы используете. Я выполнил эту команду:

/usr/libexec/PlistBuddy -c 'Print CFBundleIdentifier' /Applications/Visual\ Studio\ Code.app/Contents/Info.plist 

ссылка для справки

получить идентификатор "com.microsoft.VSCode". Затем я установил "duti" и запустил эту команду:

duti -s com.microsoft.VSCode public.plain-text all

Это должно работать для любого текстового редактора, который вы хотите установить в / Applications. Я надеюсь, что это помогает не-возвышенным пользователям.


1
Спасибо! Метод работает и для Atom ( com.github.atom).
RobW

1
Также работает для MacVim ( org.vim.MacVim)!
Руохола

Именно то, что я искал. Если вы читаете это и пропустили инструкции по установке dutiвыше, это здесь apple.stackexchange.com/a/123954/251846 .
flow2k

Чтобы получить duti, вы можете установить доморощенный и затем запустить brew install duti.
Кэмерон Хадсон

5

Я централизовал управление всеми моими приложениями по умолчанию с помощью Magic Launch . Вы можете настроить его на открытие всех txtс Sublime Text по умолчанию без командной строки (кроме того, вы можете легко изменить его из System Preferences).

Настройки запуска Magic

Еще одна исключительная полезная функция Magic Launch - вы можете устанавливать правила на основе имени файла и расположения папок, которые я интенсивно использую для выбора различных приложений для разработки и написания.


1

RCDefaultApp по- прежнему работает на macOS Sierra. Вы можете легко выбрать, какая программа по умолчанию для простого текста (BBEedit в моем случае).

Снимок экрана: RCDefaultApp


Это работает для файлов, которые не имеют расширения?
Wrossmck

Абсолютно. На вкладке, которую я показываю, вы в основном видите графический интерфейс для ответов командной строки. Если вы заинтересованы в настройке только на основе расширений (почему я знаю, что это не так), вам придется перейти на вкладку "Erweiterungen" = Расширения.
traindriver

-2

Это решение извлечено из видео на YouTube, но оно отлично подходит для моей ситуации (я просто использую Sublime для редактирования файлов на таких языках, как Python, Java и Ruby).

Для любого конкретного файла щелкните правой кнопкой мыши, выберите «Подробнее» и нажмите на вкладку «Открыть с помощью». Вы можете выбрать, какой текстовый редактор вы хотите здесь, и использовать «Изменить все», чтобы использовать редактор для всех файлов этого типа. Очевидно, что это не работает для файлов без расширения, но это было легко быстро исправить для меня.


Это не так полезно, потому что вам нужно делать это по мере расширения. Вопрос искал раз и навсегда решение
wrossmck

-3

Щелкните правой кнопкой мыши по файлу -> Другое -> Выберите ваш любимый текстовый редактор (я выбираю Sublime text в папке «Программы») -> Установите флажок «Всегда открывать с помощью» -> Открыть.

Этот параметр будет автоматически применен ко всем остальным файлам на аппарате.

Нет необходимости перезапуска или никакого программного обеспечения сторонних производителей.


2
Это не работает, когда нет расширения файла.
grg

@grgarside - я не думаю, что это работает вообще, независимо от расширения файла. Я не виню Хари, так как это одна из основных функций, которая должна «просто работать». У Apple есть открытая ошибка (я заполнил ее несколько лет назад, и Apple, очевидно, отказывается ее исправить).

@jww Для файлов с расширениями, мне кажется, это отлично работает, так я обычно меняю ассоциации файлов.
grg

-3

Сначала получите информацию о файле, который вы хотите установить возвышенный текст по умолчанию. Затем перейдите в открытый раздел и выберите возвышенное. После этого нажмите изменить все, затем продолжите во всплывающем меню, и все готовоИнструкция часть 1

Часть 2


Это не работает, когда тип файла не имеет расширения
wrossmck
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.