2011-03-01 30 views
3

我喜歡emacsclient。它允許我在編輯時使用單個Emacs框架,也可以在程序打開編輯器時使用(即export EDITOR=emacsclient)。從多個(虛擬)機器使用單個emacs實例

我想有它這樣的工作與虛擬機了。我可以使用tramp在單幀設置中用Emacs編輯遠程文件,並且它工作得很好,但這還不夠。當我調用git commitsudoedit時,我將不得不使用恰巧安裝在遠程機器上的蹩腳的基於終端的編輯器。

那麼,有沒有像emacsclient任何跨多臺計算機的工作原理?

回答

4

猜測:如果你可以從VM的ssh回本地機器,那麼該VM大概可以調用emacsclient在本地機器上,用適當的流浪漢前綴遠程文件?爲此設置一個腳本,並配置遠程EDITOR環境變量以匹配。

+0

哇,這是一個了不起的想法,它的工作原理!我鞭打了這樣的腳本,請參閱https://gist.github.com/850795。 – 2011-03-02 11:29:16

+0

非常好。我可能必須自己嘗試:) – phils 2011-03-02 13:44:02

+2

+1。即使您無法從VM退回本地計算機,也可以執行此操作。您可以通過TCP運行Emacs服務器,使用ssh -R將端口轉發回本地計算機,然後告訴emacsclient通過該端口進行連接。在http://stackoverflow.com/questions/2231902/originate-edit-of-remote-file-using-emacs-tramp-from-ssh-session和http://snarfed.org/emacsclient_in_tramp_remote_shells細節。 – ryan 2011-06-05 06:26:40

2

這可能是你可以流浪漢比你想做得更多。首先,您可能已經注意到/ sudo:不適用於遠程機器,但TRAMP允許您代理遠程機器,然後使用任何支持的協議,所以實際上您可以在遠程機器上使用/ sudo:。見tramp-default-proxies-alist

你提到調用的遠程箱git的承諾。你有沒有考慮過使用Emacs之一的git接口,比如magit?他們也將通過TRAMP工作。

相關問題