Виберіть програму за замовчуванням для відкриття файлів без розширення?


27

Чи можна встановити програму за замовчуванням для відкриття файлів без розширення? Я не маю в виду файли з прихованими розширеннями, але ті , повністю відсутня розширення - наприклад README, CHANGELOG, mboxі т.д.

"Відкрити за допомогою" => "Змінити все" для цих файлів не працює, повертаючи помилку, показану нижче:

Відкрити за допомогою / Змінити все - не вдасться

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

Мені знайомий плагін QLStephen QuickLook, який може включити QuickLook для деяких із цих файлів, але я вважаю за краще рішення з вибором / копіюванням / редагуванням можливостей.

Відповіді:


12

Ви можете додати програму public.plain-text за замовчуванням у ~ / Library / Preferences / com.apple.LaunchServices.plist.

defaults write com.apple.LaunchServices LSHandlers -array-add '{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.apple.textedit;}' '{LSHandlerContentType=public.unix-executable;LSHandlerRoleAll=com.apple.textedit;}'

Перезапустіть, щоб застосувати зміни (вихід із системи та їх повернення недостатньо).

Я додав це до файлу конфігурації duti :

com.apple.textedit public.plain-text all
com.macromates.textmate public.unix-executable all

5
Це виглядає як добре, більше деталей того, що відбувається тут на найвищому рівні, було б непогано. Вступ, що відбувається на кроці 1, тощо
MrDaniel

4

Це можна зробити за допомогою програми Magic Launch. Після установки ви можете створити правила для запуску на основі різних критеріїв. Потрібно створити правило для текстових програм, де розширення порожнє. Ви можете встановити більш складну логіку, якщо вона вам потрібна.

http://michelf.com/software/magic-launch/


Ви маєте рацію - мені довелося створити спеціальне правило для обробки файлів із порожніми розширеннями ... але, здається, спрацювало - дякую! Єдиний мінус - це $ 13. У мене немає проблем із оплатою хороших програм, але це трохи круто, враховуючи, що я шукаю саме цю функцію.
Остін

0

Погляньте на RCDefaultApp (безкоштовно).

RCDefaultApp - це панель налаштувань Mac OS X 10.2 або вище, яка дозволяє користувачеві встановити програму за замовчуванням, яка використовується для різних схем URL-адрес, розширень файлів, типів файлів, типів MIME та уніфікованих ідентифікаторів типів (або UTI, лише для MacOS 10.4).


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

0

Трохи запізнюючись на це, питання "Як уникнути відкриття безкінечних файлів у терміналі" вже трохи застаріло. Однак:

Наведені вище рішення передбачають зміну існуючих правил, що може мати небажані побічні ефекти. Я вважаю найпростішим - використовувати існуючі правила для безтипових файлів та змінювати дозволи файлів, щоб отримати бажаний результат.

Зокрема: вимкніть виконавчий біт у файлі, оскільки саме це говорить про те, що службова програма відкривається разом із терміналом з "chmod -x ім'ям файлу", де ім'я файлу ... ім'я файлу.

Це може бути автоматизовано певною мірою (з обережністю): У моєму випадку у мене є багато файлів README на машині. Я можу за допомогою "знайти" знайти всі файли "README". А потім скористайтеся командою "awk", щоб побудувати команду для видалення виконуваного біта з усіх них наступним чином:

find /$HOME -iname 'README' | awk '{ print "chmod -x " $0 }'

введіть це в термінал, якщо ви хочете перевірити, які файли будуть змінені: Вихід буде складатися з списку для кожного знайденого README, виглядає приблизно так:

chmod -x //Users/jimpsmith/things/README

І щоб змінити всі ці дозволи, виконайте всі ці рядки, додавши їх до bash наступним чином:

find /$HOME -iname 'README' | awk '{ print "chmod -x " $0 }' | bash

Будьте обережні, використовуйте подвійні символи занадто вільно і знайдіть, що ви випадково видалили виконуваний біт з деяких виконуваних файлів, які помилково відповідають.


Простішим способом було б просто бігти

find /$HOME -iname 'README' -exec chmod -x '{}' \;`

або (щоб побачити, що буде)

find /$HOME -iname 'README' -exec echo chmod -x '{}' \;`

1
Я якось не розумію, як це вирішує проблему, викладену в питанні. README, ChangeLog тощо, як правило, не встановлюють x біт для початку. Проблема полягає в тому, що OS X спирається на суфікси для ідентифікації програми для відкриття файлу, і ці файли не мають суфікса.
nohillside
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.