¿Cambiar el editor predeterminado para los archivos abiertos en la terminal? (por ejemplo, configúrelo en TextEdit / Coda / Textmate)

110

¿Hay alguna manera de hacer que los archivos abiertos para editar en el terminal se abran en Textedit?

Por ejemplo, cuando un comando podría abrir un archivo para editarlo (como git commit), en lugar de abrir ese archivo en vim o emacs, se abriría en Textedit (o quizás en otra aplicación de edición de texto de su elección, como Coda o Sublime).

Y como pregunta adicional, ¿hay alguna forma de configurar específicamente git para que abra automáticamente el archivo creado después de ejecutarlo git commiten un editor desde el directorio de aplicaciones?

Diógenes
fuente
1
Sí, estoy usando OSX (10.6.4).
Diógenes
La mejor solución que encontré es usar duti-> apple.stackexchange.com/a/123954/58507
Gomino
para mac os 10.10+, las soluciones anteriores no funcionarán. Pruebe esto apple.stackexchange.com/questions/123833/…
Rishikesh Shukla

Respuestas:

137

La mayoría de los programas comprobarán la $EDITORvariable de entorno, por lo que puede establecerla en la ruta de TextEdit en su bashrc. Git también usará esto.

Como hacer esto:

  • Agregue lo siguiente a su ~/.bashrcarchivo:
    export EDITOR="/Applications/TextEdit.app/Contents/MacOS/TextEdit"
  • o simplemente escriba el siguiente comando en su Terminal:
    echo "export EDITOR=\"/Applications/TextEdit.app/Contents/MacOS/TextEdit\"" >> ~/.bashrc

Si está utilizando zsh, utilice en ~/.zshrclugar de ~/.bashrc.

alternativa
fuente
20
Perfecto, esto lo hace. También ejecuté este comando para asegurarme de que git funcione de la manera que esperaba. git config --global --unset-all core.editorEntonces esto git config --global --add core.editor "open -W -n".
Diógenes
¿Estás usando un caparazón diferente?
alternativa
5
en mi caso, estoy usando zshtan obviamente que necesito actualizar el .zshrcarchivo de configuración.
Malloc
3
use comillas si la ruta a su editor tiene espacios, por ejemplo, "echo "export EDITOR=\"/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl\"" >> ~/.bashrc" y puede que tenga que volver a cargar su .bashrc con:source ~/.bashrc
Mars Redwyne
Gracias, configuré el editor nano como predeterminado. Aquí se explica cómo agregarlo a OSX: http://hints.macworld.com/article.php?story=20021017065800302
Micer
28

Use git config --global core.editor mate -wo git config --global core.editor opencomo sugiere @dmckee en los comentarios.

Referencia: http://git-scm.com/docs/git-config

Ionuț G. Stan
fuente
3
... y configurarlo para usar opensignifica que automáticamente obtiene el buscador predeterminado. De modo que los cambios en el buscador se propagan de forma natural.
dmckee --- ex-moderador gatito
4
openutiliza Launch Services para determinar el tipo de archivo, principalmente en función de su extensión. Si el archivo tiene una extensión desconocida, no podrá abrirlo. Generalmente, su editor CLI debería ser algo que asuma archivos de texto ...
Gordon Davisson
Algunas instrucciones (muy) explícitas serían muy útiles ... la referencia es extremadamente concisa.
Diógenes
2
@Diogenes: Vea mi respuesta en una publicación diferente si aún necesita ayuda más explícita: stackoverflow.com/questions/6435246/…
X-Istence
4
Mejor que sea git config --global core.editor "open -W"(de lo contrario, obtendrá un Aborting commit due to empty commit message.error).
rsenna
18

Para OS X y Sublime Text

Poner a subldisposición.

Pon esto en ~/.bash_profile

[[ -s ~/.bashrc ]] && source ~/.bashrc

Pon esto en ~/.bashrc

export EDITOR=subl
Kirk Strobeck
fuente
Descubrí que esto no funciona correctamente con chsh. El archivo se abre, pero se pierden los cambios. Tuve que usar chsh -s /bin/zshpara cambiar de caparazón manualmente.
Cryptc
9

Para cualquiera que venga aquí en 2018:

  • vaya a iTerm -> Preferencias -> Perfiles -> Avanzado -> Historial semántico
  • en el menú desplegable, elija Abrir con editor y en el menú desplegable de la derecha elija el editor que prefiera
Alejandro
fuente
5

Configure su editor para que apunte a este programa:

/Applications/TextEdit.app/Contents/MacOS/TextEdit

Con SVN, debe establecer SVN_EDITORla variable de entorno en:

$ export SVN_EDITOR=/Applications/TextEdit.app/Contents/MacOS/TextEdit

Y luego, cuando intente realizar algo, TextEdit se iniciará.

Pablo Santa Cruz
fuente
1
Preferiría usar /usr/bin/open , porque usará el buscador predeterminado, sea ​​lo que sea que lo establezca.
dmckee --- ex-moderador gatito
¿Cómo harías lo mismo con git?
Diógenes
El primer me gusta es simplemente establecer EDITOR = en eso, pero ¿qué escribo para la segunda línea?
Usuario
0

Si desea que el editor funcione con operaciones de git, es posible que configurar la $EDITORvariable de entorno no sea suficiente, al menos no en el caso de Sublime; por ejemplo, si desea rebase, solo dirá que la rebase fue exitosa, pero usted ganó ' Si tiene la oportunidad de editar el archivo de alguna manera, git lo cerrará de inmediato:

git rebase -i HEAD~
Successfully rebased and updated refs/heads/master.

Si desea que Sublime funcione correctamente con git, debe configurarlo usando:

git config --global core.editor "sublime -n -w"

Vine aquí buscando esto y encontré la solución en esta esencia de github .

mrapacz
fuente
0

haga de Sublime Text 3 su editor de texto predeterminado: (reiniciar)

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

haz sublime entonces tu editor de texto git predeterminado git config --global core.editor "subl -W"

Ashutosh Mittal
fuente