Замініть редагування тексту як текстовий редактор за замовчуванням


91

Я бачив подібні питання, які не дуже вирішують мою проблему.

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

Більшість цих файлів може бути command+ i'd, але файли , що не мають розширення, не можуть. Вони дають всілякі помилки дозволів, такі, як на цьому зображеннінедостатньо інформації

Чи є спосіб просто ніколи не використовувати textedit, а замість цього встановити sublime як редактор за замовчуванням для всіх файлів ?


2
Цікаво, чи заголовок цього питання повинен бути чимось на зразок "Замінити редагування тексту як редактор тексту за замовчуванням", щоб він відображався в пошуках, на які не посилається піднесений текст.
dwightk

1
@dwightk хороший момент, оновив його зараз
wrossmck

Було б краще, якби ви дали розширення файлу або Розкрити розширення в 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;}'

Ця відповідь стосується Mavericks і раніше.

Для 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).
гр

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
Під час запуску дути проти файлу я отримую помилку line 1: line too long. Мені вдалося обійти це питання, не використовуючи файл налаштувань та зателефонувавши duti -s com.sublimetext.3 public.plain-text allз рядка cmd
KyleMit

Це працювало для мене. Використання defaultsне вийшло.
nathancahill

1
@KyleMit вам потрібен порожній рядок в кінці файлу, щоб уникнути занадто довгої помилки рядка.
Террі

1
також працює з org.vim.MacVim!
ruohola

2
duti.org більше не існує.
sorin

38

У минулому я спробував рішення грагсариду, і я вважаю, що він спрацював. Однак на Йосеміті та Ель-Капітан я зіткнувся з проблемами.

Коментар 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 працює моя відповідь, і навів посилання на цю відповідь.
гр

1
Дякую! Можна підтвердити це для роботи на El Capitan. Більше не редагування тексту під час відкриття Podfile :)
Lord Zsolt

У мене встановлений піднесений текст 3, але немає файлу налаштувань com.sublimetext.3: мені потрібно створити його?
лінг

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

Це працює на Yosemite (OS X 10.10).


9
Це не дає відповіді на запитання. Питання в тому, як це зробити для всіх файлів, навіть тих, що не мають розширення файлу.
wrossmck

Навіть якщо відповідь трохи не відповідає темі, вона все одно допомогла мені від пошуку в Google. +1
Тедді

wrossmck В основному ви праві - моя відповідь навіть повторює згадувані запитання в першому рядку цього питання. Але я не помітив цього, поки не зібрав свою відповідь з інших відповідей на цій сторінці і опублікував цю відповідь. Можливо, проблема полягає в тому, що пошук простої відповіді (тобто .txt файлів) веде до цієї сторінки, а не інших (як я знайшов @Teddy).
Девід Реснік

@wrossmck Це працює для мене у Високій Сьєррі. Після того, як я це зробив у файлі .txt, набравши щось подібне, 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

Це має працювати для будь-якого текстового редактора, який потрібно встановити в розділі / Додатки. Я сподіваюсь, що це допоможе користувачам, які не мають підвищеного рівня.


1
Дякую! Метод працює і для Atom ( com.github.atom).
RobW

1
Також працює для MacVim ( org.vim.MacVim)!
ruohola

Саме те, що я шукав. Якщо ви читаєте це і пропускаєте інструкції щодо встановлення dutiвище, це тут apple.stackexchange.com/a/123954/251846 .
flow2k

Щоб отримати duti, ви можете встановити homebrew, а потім запустити brew install duti.
Камерон Хадсон

5

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

Налаштування чарівного запуску

Ще однією винятковою корисною функцією Magic Launch є те, що ви можете встановлювати правила на основі назви файлів, розташування папок, які я інтенсивно використовую для вибору різних програм для розробки та написання.


1

RCDefaultApp як і раніше працює на macOS Sierra. Ви можете легко вибрати, яка програма за замовчуванням для простого тексту (BBEedit в моєму випадку).

Знімок екрана RCDefaultApp


Чи працює це для файлів, які не мають розширення?
wrossmck

Зовсім. На вкладці я показую, що ви в основному бачите графічний інтерфейс відповідей командного рядка. Якщо вас цікавило налаштування лише на основі розширень (чому я знаю, що ви це не так), вам доведеться перейти на вкладку "Erweiterungen" = Розширення.
traindriver

-2

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

Для будь-якого конкретного файлу клацніть правою кнопкою миші, виберіть "Більше інформації" та натисніть на вкладку "Відкрити з". Ви можете вибрати текстовий редактор, який ви хочете тут, і використовувати "Змінити все", щоб використовувати редактор для всіх файлів цього типу. Очевидно, що це не працює для файлів без розширення, але для мене це було легким швидким виправленням.


Це не так корисно, тому що вам потрібно буде робити це на основі розширення. Питання
шукало одноразове

-3

Клацніть правою кнопкою миші на файл -> Інше -> Виберіть улюблений текстовий редактор (я вибираю піднесений текст у моїй папці Програми) -> Поставте прапорець "Завжди відкривати з" -> Відкрити.

Це налаштування буде автоматично застосовано до всіх інших файлів на апараті.

Немає необхідності в будь-якому перезавантаженні або в будь-якій сторонній програмі.


2
Це не працює, коли розширення файлу немає.
гр

@grgarside - Я не думаю, що це взагалі працює, незалежно від розширення файлу. Я не дуже звинувачую Харі, оскільки це одна з основних функцій, яка повинна "просто працювати". Apple має на ньому відкриту помилку (я заповнив її років тому, і Apple, мабуть, відмовляється її виправити).

@jww Мені здається, що це чудово працює для файлів із розширеннями - саме так я зазвичай займаюся зміною асоціацій файлів.
гр

-3

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

Частина 2


Це не працює, коли тип файлу не має розширення
wrossmck
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.