我試圖在終端外的emacs上打開文件。我更喜歡gui/ide環境,而不是通過終端進行編碼。我最初認爲打字emacs filename.py
會通過Emacs.app打開該文件,但它只允許我通過終端編輯文件。當這不起作用時,我着眼於編輯我的主目錄中的.profile和.emacs文件,但這無濟於事。如何從mac終端打開emacs gui/ide?
也許這比我讀過的更直觀,但我似乎無法弄清楚。任何幫助表示讚賞。
我試圖在終端外的emacs上打開文件。我更喜歡gui/ide環境,而不是通過終端進行編碼。我最初認爲打字emacs filename.py
會通過Emacs.app打開該文件,但它只允許我通過終端編輯文件。當這不起作用時,我着眼於編輯我的主目錄中的.profile和.emacs文件,但這無濟於事。如何從mac終端打開emacs gui/ide?
也許這比我讀過的更直觀,但我似乎無法弄清楚。任何幫助表示讚賞。
假設你已經從Homebrew安裝了這樣的Emacs:
brew install emacs --with-cocoa
只需鍵入以下命令從終端打開Emacs.app:
open -a Emacs filename.py
如果您希望所有文件在同一幀中打開而不是新幀,請將其放入您的.emacs
文件:
(setq ns-pop-up-frames nil)
要做你想做的事,你需要找到包含在Emacs.app中的實際二進制文件的位置,並用它作爲命令而不是emacs。最有可能的,這是在
/path/to/Emacs.app/Contents/MacOS/Emacs
其中,如果您有Emacs.app在你的應用程序文件夾,如將是典型的,將是
/Applications/Emacs.app/Contents/MacOS/Emacs
爲了用更短的命令使用設置它,你可以嘗試添加到您的.profile文件(我不知道殼牌你用的什麼)下面的行,或任何等價它爲你的shell(這適用於bash和zsh中,至少):
alias emacsgui='/Applications/Emacs.app/Contents/MacOS/Emacs'
打開文件的最佳方式在終端的Emacs中是emacsclient
命令,它將在您現有的Emacs應用程序中打開該文件(防止啓動時間)。如果你在OSX上,並且你通過Homebrew安裝了Emacs,那麼emacsclient
二進制文件就已經被設置好了。 (在你的Emacs的配置,你必須包括(server-start)
地方。)
如果你真的想要,而不是旋轉了一個新的GUI應用程序實例,你可以建立自己的shell腳本,並把它放在你的PATH
地方現有的前emacs
二進制。這聽起來像你使用自制,其中規定了emacs
二進制爲下面的shell腳本:
#!/bin/bash
/usr/local/Cellar/emacs/24.3/Emacs.app/Contents/MacOS/Emacs -nw "[email protected]"
的-nw
是什麼阻止的Emacs在GUI模式開放。你可以讓你自己emacs
shell腳本,並留下了-nw
:
#!/bin/bash
/usr/local/Cellar/emacs/24.3/Emacs.app/Contents/MacOS/Emacs "[email protected]"
我秒'emacsclient'建議指出。用'e'和'e'開頭並且從此開心。 – katspaugh
@ qaphla,我相信你會需要在該別名聲明'exec',即 - 如果尚未
alias emacsgui='exec '/Applications/Emacs.app/Contents/MacOS/Emacs' '
每個人都應該鏈接到的Emacs /應用程序,
brew linkapps emacs
到Emacs的鏈接到安裝在地窖符號鏈接emacs的。一旦符號鏈接,您可以通過
open -a emacs
打開emacs的作爲已經@katspaugh
更新問題。我沒有使用自制軟件來安裝emacs,我從[鏈接] [www.emacsforosx.com]中抓取它。但是,我只是試着'打開-Emacs filename.py',它工作。它在一個單獨的Emacs窗口中打開了Emacs ide窗口和filename.py。儘管打電話給我挑剔,如果我想要命令'emacs filename.py'做同樣的事情,我該怎麼辦?這可能是@shosti通過emacsclient得到的。謝謝@katspaugh,@qaphla和@shosti! –
@AustinA,請參閱http://superuser.com/a/431601關於如何在同一窗口中打開。 – katspaugh
由於我一直與katspaugh的建議生活在一起,我正在標記這個答案。 –