Macos OS X 10.6上的emacs

Macos OS X 10.6上的emacs,macos,emacs,osx-snow-leopard,Macos,Emacs,Osx Snow Leopard,我是新的iMac用户。我有在PC上使用Linux的丰富经验。我将最新版本的emacs下载到应用程序文件夹中。我想从命令行调用emacs。但是,emacs的默认路径是/usr/bin/emacs。将新emacs添加到路径的最佳实践是什么?我试图创建一个~/bin目录和一个指向新emacs的链接,并将~/bin添加到路径的开头。这就是我们在linux PC上的软件开发环境中所做的事情,它将起作用。如果这是本机mac应用程序,则二进制文件实际上位于应用程序目录下(而不是二进制文件的大小写):…/Ema

我是新的iMac用户。我有在PC上使用Linux的丰富经验。我将最新版本的emacs下载到应用程序文件夹中。我想从命令行调用emacs。但是,emacs的默认路径是/usr/bin/emacs。将新emacs添加到路径的最佳实践是什么?我试图创建一个~/bin目录和一个指向新emacs的链接,并将~/bin添加到路径的开头。这就是我们在linux PC上的软件开发环境中所做的事情,它将起作用。如果这是本机mac应用程序,则二进制文件实际上位于应用程序目录下(而不是二进制文件的大小写):…/Emacs.app/Contents/MacOS/Emacs


由于您来自linux,您可能对linux感兴趣。这是一个从linux移植的大型软件包集合。它允许从命令行、doe SDependency management安装和升级包,这一切都是您所期望的。它包括一个本地版本的Emacs,可以从命令行调用。

假设您仍然在linux环境中,那么将其放在
/usr/local/bin
中的标准位置不是吗(并将其添加到您的路径中?)。。。如果你要走这条路,我会坚持下去,但我的emacs设置是这样的:

  • 我已经从以下站点下载了最新的普通/香草Emacs
  • 我制作了一个
    emacs
    别名,当我不想(或不能)运行GUI版本时,我用它来启动基于终端的emacs版本,如下所示:

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

  • 如果您想从终端启动Emacs的GUI版本,只需键入以下内容(AFAIK是一个mac ism,因此您不知道它来自linux):

    $open-a Emacs


  • 有一大堆关于这家公司的信息

    ~/bin
    /usr/local/bin
    可以正常工作,操作
    路径也可以

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

    通过安装
    emacs应用程序
    via可能是获取和维护Cocoa emacs的最简单方法

    您可能希望了解哪一个是对emacs for OS X的进一步改进。非常有用。它还可以选择在路径中添加一个小的aquamacs脚本,该脚本将在aquamacs GUI中打开一个文件。

    最好的方法是使用

    因此,您有一个易于更新的emacs安装。Cocoa将确保您的mac密钥绑定在emacs之前工作。使二进制文件在启动时作为守护进程运行(因为启动速度不是很快),例如:

     /usr/local/Cellar/emacs/23.2/Emacs.app/Contents/MacOS/Emacs --daemon
    
    并为emacsclient命令生成一个脚本,并将其保存到/bin/emacs文件中(不要忘记使其可执行):

    因此,当您启动bash“emacs something.txt”时,已经运行的emacs守护进程会立即打开它。如果守护进程未运行,您还可以扩展它以打开Emacs


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

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

    open -a Emacs "$@"
    
    显然,~/bin需要在我在~/.profile中设置的路径中位于/usr/bin之前,这样它就可以隐藏预安装的emacs二进制文件

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

    为了获得更多的便利,我创建了一个别名ec='emacsclient-a emacs-n',并在我的emacs init脚本中包含(server start)。这使我能够使用ec文件名从命令行打开文件,而不管emacs是否正在运行

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

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

    你真的不应该在
    /bin
    中抛出随机的东西——正确的做法是将它放在你的路径中,或者只是为这些东西创建别名。我使用Emacs.app out the Cell作为一个普通的可双击应用程序。但是如果你使用bash用Emacs编辑一个随机文件,它会打开另一个Emacs。我的emacs脚本实际上在我的~/bin上。有时您必须手动将bin设置为on:make EMACS=如果它取决于实际的bin文件。99%的情况下,你不会注意到这种差异。我个人认为,如果你可以像其他OS X应用程序一样从中下载预构建的.dmg文件并将其拖动到你的应用程序中,那么homebrew不是安装cocoa emacs的最简单方法。如果(并且仅当)adamv会像其他平台一样把头伸出来。顺便说一句,不确定你是否意识到,但你可以在几乎任何标准的Cocoa应用程序文本框中使用emacs快捷方式的子集,你可以通过定义额外的标准键绑定来进一步扩展它们-
    open -a Emacs "$@"
    
       defaults write ${HOME}/.MacOSX/environment PATH "$PATH"