2013-03-27 91 views
3

受Git啓發,當你輸入「git commit」時,它會爲你打開一個Emacs或Vim會話。我正在編寫一個Erlang腳本,我希望它在腳本執行結束時打開一個Emacs會話。我試過如何從Erlang escript調用Emacs?

os:cmd("emacs -nw file.txt") 

但它似乎沒有工作。 Erlang的外殼內評估上面的命令得到要做到這一點

"emacs: standard input is not a tty\n" 
+1

我不知道這個解決方案,但是在escript完成後創建一個bash包裝並啓動emacs呢? – Isac 2013-03-28 01:23:32

+0

bash -c'emacs -nw file.txt'嘗試bash包裝 – 2013-03-30 04:58:32

回答

2

一種方法是保持一個Emacs與server mode運行(把(server-mode)~/.emacs),並從二郎調用emacsclient而不是emacs。這將在現有的Emacs會話中打開文件。在Emacs中點擊C-x #後,emacsclient退出並將控制權返回給您的Erlang程序。