2010-08-17 113 views
11

我是一位新的iMac用戶。我在PC上擁有豐富的Linux經驗。我將最新版本的emacs下載到了Applications文件夾中。我想從命令行調用emacs。但是,emacs的默認路徑是/ usr/bin/emacs。將新emacs添加到路徑的最佳做法是什麼?我很想創建一個〜/ bin目錄和一個指向新emacs的鏈接,並在我的路徑開頭添加〜/ bin。這就是我們在Linux上的軟件開發環境中所做的事情。OS X上的emacs 10.6

+1

順便說一句,不知道你是否已經意識到,但你可以在幾乎任何標準的Cocoa程序文本框中使用emacs快捷方式的一個子集,和你可以通過定義附加標準的按鍵組合進一步擴展它們 - http://www.gnufoo.org/macosx/ – JulesLt 2010-08-18 12:15:57

回答

0

這將起作用。如果這是一個原生的Mac應用程序,二進制實際上位於應用程序目錄(而不是二進制的資本化)下:... /Emacs.app/Contents/MacOS/Emacs

既然你來自何方linux,你可能會對MacPorts感興趣。這是從linux移植過來的大量軟件包。它允許從命令行安裝和升級軟件包,管理所有你期望的東西。它包括Emacs的本地版本,可以從命令行調用。

9

假設你仍然在linux的土地上,是不是將這個規範的地方放在/usr/local/bin(並將其添加到你的路徑?)......如果你要走這條路線,我會堅持下去,但是這是我有我的emacs設置:

  1. 我從emacsforosx.com
  2. 下載了最新的平紋/香草Emacs的我做了一個emacs別名,我用它來啓動一個基於終端的我不想(或不能)運行GUI版本的emacs版本,如下所示:

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

  3. 如果你想從終端啓動Emacs的GUI版本,你可以輸入以下內容(其中,AFAIK是一個mac-ism,所以你不會知道它來自linux ):

    $ open -a Emacs

6

還有的在emacs wikiemacs on OS X信息的轉換。

~/bin/usr/local/bin將正常工作,將操縱您的PATH

假設您使用的是Emacs.app,最簡單的方法就是使用open -a /Applications/Emacs.app "[email protected]"open是相當於雙擊Finder中的某些東西的命令行。把它放到一個shell腳本中,把它放到PATH中去。

通過MacPorts安裝emacs-app可能是獲取和維護Cocoa emacs的最簡單方法。

您可能希望看看Aquamacs這是對OS X的emacs進一步改進。emacs wiki page on Aquamacs是非常有用的。它還有一個選項,可以在PATH中添加一個aquamacs腳本,在aquamacs GUI中打開一個文件。

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 "[email protected]" 

所以當你在打擊「的emacs something.txt」已經運行emacs的守護進程打開它立即火了起來。如果守護進程沒有運行,您也可以擴展它以打開Emacs!

我測試了最新的Emacs 23.2,有些功能是不存在於早期版本。

+1

你真的不應該扔在隨機的東西'/ bin' - 做正確的做法是要麼把它前面你的路徑或只是做這些東西的別名。我使用Emacs.app作爲普通的雙擊應用程序。 – Dustin 2010-08-17 22:35:42

+0

但是如果你使用bash編輯一個隨機文件和emacs,它會打開另一個Emacs。我的emacs腳本實際上在我的〜/ bin上。有時你必須手動設置bin爲:make EMACS = <實際emacs bin的路徑>,如果它取決於實際的bin文件。 99%的時間你不會注意到差異。 – 2010-08-20 17:48:05

+2

我個人不認爲自制軟件是安裝可可emacs的時候,你可以下載從http://emacsformacosx.com/builds一個預置的.dmg文件,並將其拖動到您的應用程序像任何其他OS X應用程序最簡單的方法。 – 2012-04-10 18:22:20

1

我創建包含在我的〜/ bin目錄下一個名爲emacs的shell腳本:

open -a Emacs "[email protected]" 

顯然,〜/ bin中必須是之前在我的路徑/ usr/bin裏,而我在〜/ .profile中設置這樣它就會遮蓋預裝的emacs二進制文件。

我也通過ln -s /Applications/Emacs.app/Contents/MacOS/bin/emacsclient ~/bin/emacsclient創建符號鏈接,所以,這也陰影預裝emacsclient二進制文件。

有關其他connivence,我創建別名EC = 'emacsclient -a -n emacs的' 和包括(服務器啓動)在我的Emacs的init腳本。這使我可以使用ec文件名從命令行打開文件,無論emacs是否已經運行。

另一個提示:當你通過應用程序啓動emacs或者打開時,emacs不會像你在終端環境中那樣繼承相同的路徑,所以有一點我發現非常有用的是在我的.profile中運行以下代碼設置我的路徑更改路徑繼承可可應用:

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