¿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?


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.


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


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

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

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á.


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 .


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"

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.