2012-02-05 99 views

回答

30

其實原因很簡單,只需從終端運行它是這樣的:

/Applications/Emacs.app/Contents/MacOS/Emacs -nw 

的-nw選項意味着沒有GUI框架來啓動Emacs。

你可以把你的殼以下(在我的Mac .zshenv):

alias Emacs="/Applications/Emacs.app/Contents/MacOS/Emacs -nw" 

然後我有兩個命令:

Emacs:Emacs的版本24

emacs:對於emacs的蘋果版本

當然,你也可以別名Emacs。應用程序到emacs,但是這允許我以不同的方式定製兩者 - 例如Emacs 24允許我使用列表軟件包等等。 emacs 22忽略了大部分,所以如果需要的話,我總是可以恢復爲「裸機」emacs。您的使用情況可能會有所不同,但如果你不記得參數的Emacs,你可以通過這樣找到他們:

emacs --help 

一些有趣的:

Emacs.app --fullscreen 
Emacs.app --line-spacing 
Emacs.app --vertical-scroll-bars 

此處瞭解詳情:http://www.gnu.org/software/emacs/manual/html_node/emacs/Option-Index.html#Option-Index

3

默認情況下,終端將在OS X上打開/ usr/bin/emacs。 您可以通過更改「emacs」命令將執行的操作來更改此行爲。打開〜/ .profile並鍵入以下內容:

alias emacs=open /Applications/Emacs.app 

下次打開提示時,此更改將處於活動狀態。 (也可以運行「源〜/ .profile文件」)

+1

正確的命令是'''alias emacs ='open /Applications/Emacs.app''',但我需要每次運行「source〜/ .profile」。 – why 2012-02-12 11:57:14

9

從@Toymakerii答案是一個很好的,但你也可以考慮增加:

export PATH=/Applications/Emacs.app/Contents/MacOS/bin:$PATH 

這樣,您就可以使用emacsclient打開在一個已經運行的Emacs實例文件:

emacsclient -t SOMEFILE # Open SOMEFILE in a terminal frame 
emacsclient -c SOMEFILE # Open SOMEFILE in a new graphical frame 

根據您的Emacs的版本,你可能需要把你的~/.emacs.d/init.el以下(或~/.emacs,如果你是老式的):

(require 'server) 
(unless (server-running-p) 
    (server-start)) 
5

在我~/.profile我有以下幾點:

function emacs 
{ 
    if [ -e "[email protected]" ] 
    then 
     command open -a emacs "${@}" 
    else 
     touch "[email protected]" 
     command open -a emacs "${@}" 
    fi 
} 

(之所以具有的功能是使它也工作時,當Emacs是啓動指定的文件尚不存在)

+0

最後,我可以從終端以正確的方式打開emacs。謝謝! – 2014-05-22 16:46:31

3

最簡單的是簡單地做

open /Applications/Emacs.app --args foo 

然後別名是

alias emacs=open /Applications/Emacs.app --args "${@}" 

或在csh/tcsh的

alias emacs 'open /Applications/Emacs.app --args $1' 

編輯:這似乎需要一個完整的路徑打開了正確的文件...我不知道這是Emacs.app或有問題TCSH