OS X 10.6上的emacs

时间:2010-08-17 17:52:29

标签: macos emacs osx-snow-leopard

我是新的iMac用户。我在PC上有丰富的Linux经验。我将最新版本的emacs下载到Applications文件夹。我想从命令行调用emacs。但是,emacs的默认路径是/ usr / bin / emacs。将新emacs添加到路径的最佳做法是什么?我很想创建一个〜/ bin目录和一个指向新emacs的链接,并将〜/ bin添加到我的路径的开头。这就是我们在linux PC上的软件开发环境中做的事情

5 个答案:

答案 0 :(得分:10)

最好的方法是使用Homebrew并使用

brew install emacs --cocoa

因此您可以轻松更新emacs安装。 Cocoa将确保您在emacs之前使用mac keybinding。使二进制文件在启动时作为守护程序运行(因为它启动速度不是很快),例如:

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

为emacsclient命令创建一个脚本并将其保存到/ bin / emacs文件中(不要忘记使其可执行):

#!/bin/bash
exec /Applications/Emacs.app/Contents/MacOS/bin/emacsclient -n -c "$@"

所以当你在bash“emacs something.txt”启动时,已经运行的emacs守护程序会立即打开它。如果守护程序未运行,您也可以将其扩展为打开Emacs!

我在最新的emacs 23.2上测试了它,早期版本中没有一些功能。

答案 1 :(得分:9)

假设你还在Linux的土地上,那么这个规范的地方不会放在/usr/local/bin中(并将其添加到你的路径中吗?)...我会坚持这一点,如果你是走那条路,但这就是我设置emacs的方式:

  1. 我从emacsforosx.com
  2. 下载了最新的普通/香草Emacs
  3. 我做了一个emacs别名,当我不想(或不能)运行GUI版本时,我用它来启动基于终端的emacs版本,如下所示:

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

  4. 如果你想从终端启动Emacs的GUI版本,你可以输入以下内容(其中,AFAIK,是一个mac-ism,所以你不会知道它来自linux) :

    $ open -a Emacs

答案 2 :(得分:6)

emacs on OS X上有关于emacs wiki的大量信息。

~/bin/usr/local/bin可以正常使用,也可以操纵PATH

假设您正在使用Emacs.app,最简单的方法是使用open -a /Applications/Emacs.app "$@"open是命令行,相当于双击Finder中的某些内容。将它放入shell脚本中,将其粘贴到PATH中然后继续。

通过MacPorts安装emacs-app可能是获取和维护Cocoa emacs的最简单方法。

您可能希望查看Aquamacs,这是对OS X的emacs的进一步改进。emacs wiki page on Aquamacs非常有用。它还可以选择在PATH中添加一个小的aquamacs脚本,它将在aquamacs GUI中打开一个文件。

答案 3 :(得分:1)

我在〜/ bin目录中创建了一个名为emacs的shell脚本,其中包含:

open -a Emacs "$@"

显然,〜/ bin需要在我的PATH中的/ usr / bin之前,我在〜/ .profile中设置它,以便它隐藏预装的emacs二进制文件。

我还通过ln -s /Applications/Emacs.app/Contents/MacOS/bin/emacsclient ~/bin/emacsclient创建了一个符号链接,这样也会影响预装的emacsclient二进制文件。

为了获得额外的一致性,我在emacs init脚本中创建了一个别名ec ='emacsclient -a emacs -n'并包含(server-start)。这使我能够使用ec文件名从命令行打开文件,无论emacs是否已经运行。

另一个提示:当您通过应用程序启动emacs或打开时,emacs不会继承您在终端环境中的相同路径,所以我发现一件非常有用的事情是在设置后在我的.profile中运行以下命令我改变PATH继承的cocoa应用程序的路径:

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

答案 4 :(得分:0)

那会有效。如果这是本机mac应用程序,则二进制文件实际位于应用程序目录下(不是二进制文件的大小写): ... /Emacs.app/Contents/MacOS/Emacs

由于你来自linux,你可能会对MacPorts感兴趣。这是从linux移植的大量软件包集合。它允许从命令行,doe sdependancy管理,所有你期望的东西安装和升级包。它包括可以从命令行调用的Emacs的本机版本。