Reemplazar edición de texto como el editor de texto predeterminado

91

He visto preguntas como esta que no resuelven mi problema.

Me gustaría hacer de Sublime Text 3 el visor / editor de archivos predeterminado para todos los archivos que actualmente usan textedit.

La mayoría de estos archivos pueden ser command+ i'd, pero los que no tienen extensión no pueden. Dan todo tipo de errores de permisos, como los de esta imagenno hay suficiente información disponible

¿Hay alguna forma de nunca usar textedit y, en su lugar, establecer sublime como el editor predeterminado para todos los archivos ?

wrossmck
fuente
2
Me pregunto si el título de esta pregunta debería ser algo así como "Reemplazar edición de texto como editor de texto predeterminado" para que aparezca en búsquedas que no hagan referencia a texto sublime.
dwightk
1
@dwightk buen punto, actualizado ahora
wrossmck
¿Funcionaría mejor si le diera al archivo una extensión, o Mostrar la extensión en GetInfo ..?
Zo219
@ Zo219 no, algunos archivos simplemente no tienen / necesitan extensiones, y esta pregunta está dirigida a configurar el editor predeterminado, no a usar una solución subóptima para lograr un resultado similar.
wrossmck

Respuestas:

49

Establezca Sublime Text como el controlador predeterminado para public.plain-text

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

Esta respuesta es para Mavericks y anteriores.

Para Yosemite y versiones posteriores, use 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;}'

Recuerde reiniciar para recoger los cambios.

grg
fuente
2
@Ross Sí (o cierre sesión y vuelva a iniciarla si no es usuario root).
grg
1
Hmm, entonces eso no pareció funcionar para mí. (después de un reinicio completo). Y he verificado que la entrada está en la ubicación correcta en launchServices.plist
wrossmck
1
Curiosamente, en realidad funciona si lo hago open file2en la terminal o incluso haciendo doble clic. Pensé que no estaba funcionando porque si obtengo información sobre él, muestra que se abre con TextEdit.
wrossmck
1
@Justin Parece que después de otro reinicio completo file->infoahora se muestra que Sublime es la aplicación predeterminada. Estoy casi seguro de que no he hecho nada más para cambiar el resultado.
wrossmck
1
En OS X Yosemite necesitaba editar ~ / Library / Preferences / com.apple.LaunchServices / com.apple.launchservices.secure.plist Mientras que el comando anterior creó un archivo ~ / Library / Preferences / com.apple.LaunchServices.plist que no tuvo efecto
DonnaLea
43

Otra opción es usar duti ( http://duti.org / https://github.com/moretension/duti ).

Ejecute brew install duti, guarde un tipo de archivo como este como:

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

Los cambios deben aplicarse de inmediato, para que no tenga que reiniciar como cuando edita com.apple.LaunchServices.plist.

Para cambiar también la aplicación predeterminada para scripts ejecutables sin extensión de nombre de archivo, agregue una línea como esta:

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

Lri
fuente
1
Cuando ejecuto duti contra el archivo me sale el error line 1: line too long. Pude duti -s com.sublimetext.3 public.plain-text all
solucionarlo
Esto funcionó para mí. Usar defaultsno funcionó.
nathancahill
1
@KyleMit necesita una línea vacía al final del archivo para evitar el error de línea demasiado larga.
Terry
1
también funciona con org.vim.MacVim!
Ruohola
2
duti.org ya no existe.
sorin
38

Intenté la solución de Grgarside en el pasado y creo que funcionó. Sin embargo, en Yosemite y El Capitán, tuve problemas.

El comentario de DonnaLea en esa solución me dio pistas sobre cómo crear una solución. Agregué la ruta de la carpeta antes, com.apple.launchservicesademás, el archivo tenía un nombre ligeramente diferente com.apple.launchservices.secure.

Puede ver los archivos / carpetas siendo modificados en la siguiente ruta:

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

Captura de pantalla para referencia: ingrese la descripción de la imagen aquí

Aquí está el comando que usé en la terminal:

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

Por último, después de reiniciar mi máquina, funcionó como se anuncia.

Michael Mizner
fuente
55
Gracias por señalar que mi respuesta está desactualizada. Indiqué para qué versiones de OS X funciona mi respuesta y proporcioné un enlace a esta respuesta.
grg
1
¡Gracias! Puede confirmar que esto funcione en El Capitan. No más edición de texto al abrir Podfile :)
Lord Zsolt
Tengo sublime text 3 instalado pero no tengo el archivo de preferencias com.sublimetext.3: ¿necesito crear uno?
ling
21
  1. Haga clic derecho en un archivo .txt en Finder.
  2. Elija "Obtener información".
  3. Expanda "Abrir con:" y elija su editor de texto preferido en el menú desplegable.
  4. Presione el botón "Cambiar todo ..." debajo del menú desplegable y luego confirme en el cuadro de diálogo que aparece con "Continuar".

Esto funciona en Yosemite (OS X 10.10).

David Resnick
fuente
99
Esto no responde la pregunta. La pregunta es cómo hacer esto para todos los archivos, incluso aquellos sin una extensión de archivo.
wrossmck
Incluso si la respuesta está ligeramente fuera de tema, todavía me ayudó en una búsqueda en Google. +1
Teddy
wrossmck Tiene razón básicamente: mi respuesta incluso repite las preguntas y respuestas mencionadas en la primera línea de esta pregunta. Pero no me di cuenta de esto hasta que reuní mi respuesta de otras respuestas en esta página y publiqué esta respuesta. Quizás el problema es que las búsquedas de una respuesta simple (es decir, archivos .txt) conducen a esta página y no a las otras (como encontramos @Teddy y yo).
David Resnick
@wrossmck Esto funciona para mí en High Sierra. Una vez que hice esto en un archivo .txt, escribí algo como que open -t script.sqltodavía lo abrí en mi editor de texto preferido que configuré usando estas instrucciones, a pesar de que la extensión no es .txt
Mark White
14

Las soluciones propuestas aquí funcionan perfectamente para Sublime, pero quería hacer esto para Visual Studio Code. La única diferencia es que debe encontrar el "identificador de paquete de aplicación" para cualquier editor de texto que utilice. Ejecuté este comando:

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

enlace para referencia

para obtener el identificador "com.microsoft.VSCode". Luego instalé "duti" y ejecuté este comando:

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

Esto debería funcionar para cualquier editor de texto que desee que esté instalado en / Aplicaciones. Espero que esto ayude a los usuarios no sublimes.

Mark Kurkowski
fuente
1
¡Gracias! El método también funciona para Atom ( com.github.atom).
RobW
1
También funciona para MacVim ( org.vim.MacVim)!
Ruohola
Exactamente lo que estaba buscando. En caso de que esté leyendo esto y se haya perdido las instrucciones de instalación dutianteriores, está aquí apple.stackexchange.com/a/123954/251846 .
flow2k
Para obtener duti, puede instalar homebrew y luego ejecutar brew install duti.
Cameron Hudson
5

Centralizo toda la administración de mis aplicaciones predeterminadas con Magic Launch . Puede configurarlo para que se abra todo txtcon Sublime Text como predeterminado sin línea de comando (además, puede cambiarlo fácilmente System Preferences).

Preferencias de lanzamiento mágico

Una característica más excepcional de Magic Launch es que puede establecer reglas basadas en el nombre del archivo, la ubicación de las carpetas, que uso intensamente para elegir diferentes aplicaciones para el desarrollo y la escritura.

sayzlim
fuente
1

RCDefaultApp todavía funciona en macOS Sierra. Puede seleccionar fácilmente qué programa es predeterminado para texto sin formato (BBEedit en mi caso).

Captura de pantalla de RCDefaultApp

conductor de tren
fuente
¿Funciona esto para archivos que no tienen extensión?
wrossmck el
Absolutamente. En la pestaña que te muestro, básicamente, ves una interfaz gráfica para las respuestas de la línea de comandos. Si estuviera interesado en configurar solo en función de las extensiones (por qué sé que no lo está), tendría que ir a la pestaña "Erweiterungen" = Extensiones.
traindriver
-2

Esta solución está extraída de un video de YouTube, pero funciona perfectamente para mi situación (solo estoy usando Sublime para editar archivos en lenguajes como Python, Java y Ruby).

Para cualquier archivo en particular, haga clic derecho, seleccione "Más información" y haga clic en la pestaña "Abrir con". Puede seleccionar qué editor de texto desea aquí y usar "Cambiar todo" para usar el editor para todos los archivos de este tipo. Obviamente, esto no funciona para archivos sin extensión, pero ha sido una solución rápida fácil para mí.

M. Fisher
fuente
Esto no es tan útil porque necesitará hacerlo extensión por extensión. La pregunta era buscar una solución de una vez por todas
wrossmck el
-3

Haga clic derecho en el archivo -> Otro -> Elija su editor de texto favorito (elijo Texto sublime en mi carpeta Aplicaciones) -> Marque la casilla de verificación 'Abrir siempre con' -> Abrir.

Esta configuración se aplicará automáticamente a todos los demás archivos de la máquina.

No es necesario reiniciar ni software de terceros.

Hari Hara Kumar Earlapati
fuente
2
Eso no funciona cuando no hay extensión de archivo.
grg
@grgarside: no creo que esto funcione en absoluto, independientemente de la extensión del archivo. Realmente no culpo a Hari ya que esta es una de esas características básicas que deberían "simplemente funcionar". Apple tiene un error abierto (lo llené hace años, y aparentemente Apple se niega a solucionarlo).
@jww Parece que me funciona muy bien para archivos con extensiones, así es como suelo cambiar las asociaciones de archivos.
grg
-3

Primero obtenga información sobre el archivo que desea establecer como texto predeterminado sublime. Luego ve a la sección abrir como y elige sublime. Después de eso, presione cambiar todo, luego continúe en el menú emergente y listoInstrucciones parte 1

Parte 2

usuario169950
fuente
Esto no funciona cuando el tipo de archivo no tiene una extensión
wrossmck