2010-08-17 5 views
11

Je suis un nouvel utilisateur d'iMac. J'ai une vaste expérience avec Linux sur un PC. J'ai téléchargé la dernière version d'emacs dans le dossier Applications. Je veux appeler emacs depuis la ligne de commande. Cependant, le chemin par défaut pour emacs est/usr/bin/emacs. Quelle est la meilleure pratique pour ajouter les nouveaux emacs sur le chemin? Je suis tenté de créer un répertoire ~/bin et un lien vers le nouvel emacs et d'ajouter ~/bin au début de mon chemin. C'est ainsi que nous avons fait des choses dans notre environnement de développement logiciel sur les PC Linuxemacs sur OS X 10.6

+1

en aparté, ne sais pas si vous êtes au courant, mais vous pouvez utiliser un sous-ensemble de raccourcis emacs dans à peu près une zone de texte standard application Cocoa, et vous peut les étendre davantage en définissant des raccourcis clavier supplémentaires - http://www.gnufoo.org/macosx/ – JulesLt

Répondre

0

Cela fonctionnera. Si cela est une application native Mac, le binaire est en fait situé dans le répertoire de l'application (et non la capitalisation du binaire): ... /Emacs.app/Contents/MacOS/Emacs

Puisque vous venez de linux, vous pourriez être intéressé par MacPorts. Ceci est une grande collection de paquets portés à partir de Linux. Cela permet d'installer et de mettre à jour les paquets à partir de la ligne de commande, de gérer les dépendances, tout ce que vous attendez. Il inclut une version native d'Emacs, qui peut être appelée à partir de la ligne de commande.

9

En supposant que vous étiez encore en terre linux, est-ce que l'endroit canonique ne devrait pas mettre ceci dans /usr/local/bin (et l'ajouter à votre chemin?) ... Je m'en tiendrai là, si vous deviez suivre cette route , mais voilà comment j'ai mon emacs configuration:

  1. J'ai téléchargé les dernières Emacs plaine/vanille de emacsforosx.com
  2. J'ai fait un emacs alias que j'utilise pour tirer un basé sur un terminal version d'emacs quand je ne veux pas (ou ne peux pas) exécuter la version de l'interface graphique, comme ceci:

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

  3. Si vous voulez tirer la version GUI d'Emacs à partir du terminal, il vous suffit de taper les éléments suivants (qui, autant que je sache, est un mac-isme, de sorte que vous ne l'auriez pas su que venant de linux):

    $ open -a Emacs

6

Il y a un tas d'informations sur emacs on OS X au emacs wiki.

~/bin ou /usr/local/bin fonctionnera très bien, tout comme la manipulation de votre PATH.

En supposant que vous utilisez Emacs.app, la chose la plus simple à faire est d'utiliser open -a /Applications/Emacs.app "[email protected]". open est l'équivalent en ligne de commande d'un double-clic sur quelque chose dans le Finder. Mettez cela dans un script shell, collez-le dans votre PATH et partez.

L'installation de emacs-app via MacPorts est probablement le moyen le plus simple d'obtenir et de maintenir un emacs Cocoa.

Vous voudrez peut-être regarder dans Aquamacs qui est un raffinement supplémentaire d'emacs pour OS X. Le emacs wiki page on Aquamacs est très utile. Il a également une option pour ajouter un petit script d'aquamacs à votre PATH qui ouvrira un fichier dans l'interface graphique d'aquamacs.

10

Le meilleur moyen est d'utiliser Homebrew et utiliser si vous avez

brew install emacs --cocoa 

un facile à mettre à jour l'installation emacs.The Cocoa s'assurera que votre keybinding mac fonctionne avant emacs. Faire la course binaire au démarrage en tant que démon (car il démarre pas très rapide), par exemple:

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

Et faire un script à la commande emacsclient et enregistrée à/bin/emacs (ne pas oublier de le rendre exécutable):

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

donc quand vous lancez à bash « emacs something.txt » le démon en cours d'exécution ouvre déjà emacs instantanément. Vous pouvez également l'étendre pour ouvrir Emacs si le démon n'est pas en cours d'exécution!

Je l'ai testé sur le dernier Emacs 23.2, certaines fonctionnalités ne sont pas présentes sur les premières versions.

+1

Vous ne devriez vraiment pas jeter des trucs au hasard dans '/ bin' - La bonne chose à faire est soit de le mettre plus tôt dans votre chemin ou juste faire alias pour ces choses. J'utilise Emacs.app hors de la cave comme une application normale double-cliquable. – Dustin

+0

Mais si vous utilisez bash pour éditer un fichier aléatoire avec emacs, il ouvre un autre Emacs. Mon script emacs est en fait sur mon ~/bin. Parfois, vous devez définir manuellement la corbeille comme suit: make EMACS = si cela dépend du fichier bin réel. 99% du temps, vous ne remarquerez pas la différence. –

+2

Personnellement, je ne pense pas que homebrew est le moyen le plus simple d'installer emacs cacao lorsque vous pouvez télécharger un fichier .dmg prédéfini depuis http://emacsformacosx.com/builds et faites-le glisser dans vos applications comme n'importe quelle autre application OS X. –

1

créer un script shell nommé emacs dans mon répertoire ~/bin contenant:

open -a Emacs "[email protected]" 

De toute évidence, ~/bin doit être avant/usr/bin dans mon chemin que je mets dans ~/.profile de sorte qu'il ombrage le binaire emacs préinstallé.

Je crée également un lien symbolique via ln -s /Applications/Emacs.app/Contents/MacOS/bin/emacsclient ~/bin/emacsclient afin que cela mate également le binaire emacsclient préinstallé. Pour plus de connivence, je crée un alias ec = 'emacsclient -a emacs -n' et inclue (server-start) dans mes scripts d'initialisation emacs. Cela me permet d'ouvrir un fichier à partir de la ligne de commande en utilisant le nom de fichier ec, même si emacs est déjà en cours d'exécution. Autre astuce: lorsque vous lancez emacs via Applications ou open, emacs n'hérite pas du même chemin que vous avez dans votre environnement de terminal, une chose que j'ai trouvée très utile est d'exécuter ce qui suit dans mon .profile après la mise sur mon chemin pour changer les applications de cacao héritées PATH:

defaults write ${HOME}/.MacOSX/environment PATH "$PATH" 
Questions connexes