¿Elegir una aplicación predeterminada para abrir archivos sin extensión?

¿Es posible configurar una aplicación predeterminada para abrir archivos sin extensión? No me refiero a archivos con extensiones ocultas, sino a aquellos que carecen por completo de una extensión, por ejemplo README, CHANGELOG, , mbox, etc.

"Abrir con" => "Cambiar todo" en estos archivos no funciona y devuelve el error que se muestra a continuación:

Abrir con/Cambiar todo -- Reprobado

Idealmente, me gustaría que el sistema intente abrir todos esos archivos en TextMate. Sé que puedo arrastrar archivos a los íconos del Dock para abrirlos en aplicaciones específicas, pero estoy buscando una solución más sencilla que esa (especialmente porque mi Dock se oculta automáticamente, lo que lo hace mucho más engorroso).

Estoy familiarizado con el complemento QLStephen QuickLook que puede habilitar QuickLook para algunos de estos archivos, pero preferiría una solución con capacidades de selección/copia/edición.

Respuestas (5)

Puede agregar una aplicación predeterminada para public.plain-text en ~/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;}'

Reinicie para aplicar los cambios (cerrar la sesión y volver a iniciarla no es suficiente).

He agregado esto a un archivo de configuración de duti :

com.apple.textedit public.plain-text all
com.macromates.textmate public.unix-executable all
Esto parece bueno, más detalles de lo que está pasando aquí en un nivel superior sería bueno. Una introducción, lo que está pasando en el paso 1, etc.
En caso de que alguien quiera usar Visual Studio Code como editor predeterminado, use com.microsoft.VSCode en lugar de com.apple.textedit en la respuesta anterior. O, para Sublime Text 4, use com.sublimetext.4 .

Puedes hacer esto usando Magic Launch. Después de la instalación, puede crear reglas para iniciar según varios criterios. Debe crear una regla para las aplicaciones de texto donde la extensión está en blanco. Puede configurar una lógica más compleja si la necesita.

http://michelf.com/software/lanzamiento-mágico/

Tiene razón, tuve que crear una regla personalizada para manejar archivos con extensiones en blanco... pero parece haber funcionado, ¡gracias! El único inconveniente es que cuesta $13. No tengo ningún problema en pagar buenas aplicaciones, pero eso es un poco caro considerando que solo estoy buscando esta función.
no se encuentra la url
déjame googlearlo por ti: oneperiodic.com/products/magiclaunch

Eche un vistazo a RCDefaultApp (software gratuito).

RCDefaultApp es un panel de preferencias de Mac OS X 10.2 o superior que permite al usuario establecer la aplicación predeterminada utilizada para varios esquemas de URL, extensiones de archivo, tipos de archivo, tipos MIME e identificadores de tipo uniforme (o UTI; solo MacOS 10.4).

Me gusta que sea gratis, pero no hay forma de configurar una aplicación predeterminada para archivos sin extensión. El uso de tipos MIME puede aproximarse un poco a esto, pero luego cambia la aplicación predeterminada de todos los archivos de texto, no solo los que no tienen extensión. Gracias por la sugerencia de todos modos, tal vez ayude a alguien más.

Un poco tarde esto, la pregunta "Cómo evitar que se abran archivos sin tipo en la terminal" es un poco antigua. Sin embargo:

Las soluciones anteriores implican cambiar las reglas existentes, lo que puede tener efectos secundarios no deseados. Encuentro que lo más fácil es explotar las reglas existentes para archivos sin tipo y cambiar los permisos de los archivos para obtener el resultado que quiero.

Específicamente: apague el bit ejecutable en el archivo, porque eso es lo que le dice al servicio de archivos que se abra con la terminal con "chmod -x filename" donde el nombre del archivo es ... el nombre del archivo.

Esto se puede automatizar hasta cierto punto (con precaución): en mi caso, tengo muchos archivos README en una máquina. Puedo usar "buscar" para encontrar todos los archivos "README". Y luego use "awk" para construir un comando para eliminar el bit ejecutable en todos ellos de la siguiente manera:

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

escríbalo en la terminal si desea verificar qué archivos se cambiarán: La salida consistirá en una lista para cada README encontrado con un aspecto similar a este:

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

Y para cambiar todos esos permisos, ejecute todas estas líneas cobrándolas para bash de la siguiente manera:

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

Solo tenga cuidado con el uso de comodines con demasiada liberalidad y descubra que accidentalmente eliminó el bit ejecutable de algunos ejecutables que coinciden erróneamente.


Una forma más fácil sería simplemente ejecutar

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

o (a ver que pasaba)

find /$HOME -iname 'README' -exec echo chmod -x '{}' \;`
De alguna manera no entiendo cómo esto resuelve el problema planteado en la pregunta. README, ChangeLog, etc. generalmente no tienen el bit x configurado para comenzar de todos modos. El problema es que OS X se basa en sufijos para identificar la aplicación para abrir el archivo y estos archivos no tienen un sufijo.

Actualización para Catalina:

defaults write ~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist LSHandlers -array-add '{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.sublimetext.3;}' '{LSHandlerContentType=public.unix-executable;LSHandlerRoleAll=com.sublimetext.3;}'

Esto establece el valor predeterminado en Sublime Text 3. Si desea tener cualquier otra aplicación, simplemente debe reemplazarla com.sublimetext.3con la identificación de la aplicación de su aplicación favorita.

lo probé pero no funcionó en Catalina 10.15.6 y sublime 3.2.2 ¿cómo supiste que com.sublimetext.3 es correcto?