2010-08-17 25 views
11

Soy un nuevo usuario de iMac. Tengo una amplia experiencia con Linux en una PC. Descargué la última versión de emacs en la carpeta de aplicaciones. Quiero invocar emacs desde la línea de comando. Sin embargo, la ruta predeterminada para emacs es/usr/bin/emacs. ¿Cuál es la mejor práctica para agregar los nuevos emacs a la ruta? Estoy tentado de crear un directorio ~/bin y un enlace a los nuevos emacs y agregar ~/bin al comienzo de mi ruta. Así es como hicimos las cosas en nuestro entorno de desarrollo de software en linux PCemacs en OS X 10.6

+1

Dicho sea de paso, no estoy seguro si usted es consciente, pero se puede utilizar un subconjunto de emacs atajos en casi cualquier cuadro de texto aplicación de cacao estándar, y se puede ampliarlos aún más mediante la definición de combinaciones de teclas estándar adicionales - http://www.gnufoo.org/macosx/ – JulesLt

Respuesta

0

Eso funcionará. Si se trata de una aplicación nativa de Mac, el binario se encuentra realmente bajo el directorio de la aplicación (no la capitalización de la binario): ... /Emacs.app/Contents/MacOS/Emacs

Puesto que usted está viniendo de Linux, es posible que le interese MacPorts. Esta es una gran colección de paquetes portados desde Linux. Permite que los paquetes se instalen y actualicen desde la línea de comandos, la administración de la independencia de doe, todo lo que cabría esperar. Incluye una versión nativa de Emacs, que se puede invocar desde la línea de comandos.

9

Suponiendo que todavía estuvieras en tierra de linux, ¿no sería el lugar canónico para poner esto en /usr/local/bin (y agregar eso a tu camino?) ... Me quedaría con eso, si fueras por esa ruta , pero esta es la forma que tengo a mi emacs configuración:

  1. he descargado la última versión de Emacs llanura/vainilla de emacsforosx.com
  2. he hecho una emacs alias que uso para arrancar un terminal basado versión de emacs cuando no quiero (o no puedo) ejecutar la versión de GUI, así:

    alias emacs='/Applications/Emacs.app/Contents/MacOS/Emacs -nw'

  3. Si desea encender la versión de interfaz gráfica de usuario de Emacs desde el terminal, puede simplemente escriba lo siguiente (que, que yo sepa, es un mac-ismo, por lo que no habría sabido que viene de Linux):

    $ open -a Emacs

6

Hay una gran cantidad de información sobre emacs on OS X en el emacs wiki.

~/bin o /usr/local/bin funcionarán bien, así como la manipulación de su PATH.

Suponiendo que está utilizando Emacs.app, lo más simple es usar open -a /Applications/Emacs.app "[email protected]". open es la línea de comando equivalente a hacer doble clic en algo en Finder. Ponlo en un guión de shell, pégalo en tu PATH y listo.

La instalación de emacs-app a través de MacPorts es probablemente la forma más sencilla de obtener y mantener un Cocoa emacs.

Es posible que desee mirar en Aquamacs que es un refinamiento adicional de emacs para OS X. El emacs wiki page on Aquamacs es muy útil. También tiene la opción de agregar un pequeño script de aquamacs a tu RUTA que abrirá un archivo en la GUI de aquamacs.

10

mejor manera es utilizar Homebrew y utilizar

brew install emacs --cocoa 

para que tenga una fácil instalación de la actualización de emacs.The Cocoa se asegurará de que tenga su mac keybinding funcionando antes de emacs. Hacer funcionar el binario en el inicio como un demonio (porque se pone en marcha no muy rápido), por ejemplo:

/usr/local/Cellar/emacs/23.2/Emacs.app/Contents/MacOS/Emacs --daemon 

y hacer una secuencia de comandos para el comando emacsclient y lo ha guardado en el archivo/bin/emacs (no hacer se olvide de hacerlo ejecutable):

#!/bin/bash 
exec /Applications/Emacs.app/Contents/MacOS/bin/emacsclient -n -c "[email protected]" 

lo que cuando se disparan hacia arriba en la fiesta de "emacs something.txt" el demonio de emacs ya se está ejecutando se abre al instante. ¡También puede extenderlo para abrir Emacs si el daemon no se está ejecutando!

Lo probé en el último emacs 23.2, algunas características no están presentes en las versiones anteriores.

+1

No debería arrojar cosas al azar en '/ bin' - Lo correcto es ponerlo antes en tu camino o simplemente haz alias para estas cosas. Uso Emacs.app fuera de la bodega como una aplicación normal de doble clic. – Dustin

+0

Pero si usa bash para editar un archivo aleatorio con emacs, abre otro Emacs. Mi script de emacs en realidad está en mi ~/bin. Algunas veces tiene que configurar manualmente el bin como activado: haga que EMACS = si depende del archivo bin actual. 99% de las veces no notarás la diferencia. –

+2

Personalmente, no creo que Homebrew sea la forma más fácil de instalar cocoa emacs cuando puede descargar un archivo .dmg precompilado desde http://emacsformacosx.com/builds y arrastrarlo a sus aplicaciones como cualquier otra aplicación OS X. –

1

creo un script llamado emacs en mi directorio ~/bin contiene:

open -a Emacs "[email protected]" 

Obviamente, ~/bin tiene que ser antes de/usr/bin en mi camino que yo pongo en ~/.profile para que sombree el binario de emacs preinstalado.

También creo un enlace simbólico a través de ln -s /Applications/Emacs.app/Contents/MacOS/bin/emacsclient ~/bin/emacsclient para que esto también sombree el binario de emacsclient preinstalado.

Para mayor connivencia, creo un alias ec = 'emacsclient -a emacs -n' e incluyo (server-start) en mis scripts de inicio de emacs. Esto me permite abrir un archivo desde la línea de comando usando el nombre del archivo ec, independientemente de si emacs está o no en ejecución.

Otro consejo: Cuando ejecutas emacs a través de Aplicaciones o abiertas, emacs no hereda la misma ruta que tienes en tu entorno de terminal, así que una cosa que he encontrado muy útil es ejecutar lo siguiente en mi perfil después de el establecimiento de mi camino para cambiar la ruta heredada aplicaciones de cacao:

defaults write ${HOME}/.MacOSX/environment PATH "$PATH" 
Cuestiones relacionadas