¿Cómo establece Mountain Lion el editor de texto predeterminado para el comando de terminal "open -t"?

9

OSX parece ofrecer open -tacceso directo de línea de comando para abrir archivos arbitrarios en el editor de texto predeterminado del sistema.

  • ¿Dónde está configurado este editor de texto predeterminado?

  • ¿Puedo cambiarlo desde la línea de comandos (si es posible) o de otro modo mediante programación?

La elección predeterminada de TextEdit es limitante.

Mikko Ohtamaa
fuente

Respuestas:

7

Es la aplicación predeterminada para archivos de texto sin formato (public.plain-text). Puede cambiarlo desde los paneles de información del Finder o con duti .

También puede editar ~ / Library / Preferences / com.apple.launchservices.plist, pero requiere reiniciar para aplicar los cambios.

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

Lri
fuente
¿Sabes cómo leer el valor actual con valores predeterminados también?
Mikko Ohtamaa
@MikkoOhtamaa man defaultsle dirá cómo hacerlo, pero básicamente defaults read com.apple.LaunchServices LSHandlersle dirá el controlador predeterminado para todos los tipos de archivos.
Smilin Brian
Las aplicaciones predeterminadas modificadas desde Finder no se agregan a com.apple.LaunchServices.plist. Puede usar lsregister -dumpo DefaultApplication . (O holandés si solo está tratando de evitar agregar dos entradas a la lista).
Lri
6

También puede usar open -a <application> <file>para abrir un archivo desde la Terminal en el editor de su elección, así:

open -a TextWrangler.app myfile.txt

Para hacer esto un poco más corto, también tengo un alias en mi .profilearchivo, así:

alias edit="open -a TextWrangler.app $1"

Esto me permite simplemente escribir:

edit myfile.txt

y el archivo se abrirá en TextWrangler.

binarybob
fuente
Solo un aviso, también puede lograr esto ejecutando "Instalar herramientas de línea de comandos" desde el menú de aplicación de TextWrangler. Instalará un editcomando, que hace lo que hace su alias, y además tiene un montón de opciones de línea de comando.
duozmo
5

De acuerdo con la página man abierta (1):

-t Causes the file to be opened with the default text editor, as determined via LaunchServices

  1. Para cambiar el editor asociado, busque un archivo con la extensión que está intentando abrir en el Finder y selecciónelo.
  2. Seleccione Archivo> Obtener información en la barra de menú.
  3. Cambie "Abrir con" al editor de texto que prefiera.
  4. Presione el botón "Cambiar todo ..."

Ahora sus archivos con esa extensión deberían abrirse en el editor de texto seleccionado con "abrir -t" desde la línea de comandos.

Ɱark Ƭ
fuente
1
No funciono para mi.
JohnK
^ ¡funciona perfectamente en lugar de cambiar el valor predeterminado a través de la línea de comando! ¡Gracias!
Ting Ting Lei