2016-11-09 66 views
2

它是否存在Emacs Lisp的功能,它可以複製文件和目錄(支持TRAMP),並以異步方式執行此操作?Emacs-Lisp中的異步複製文件和複製目錄?

我的問題是(copy-file)(copy-directory)塊我的編輯,直到他們完成,如果我有一個遠程服務器做了流浪漢大約需要5-10秒,直到我可以繼續進行。

+1

我從來沒有用過它自己,但可能[emacs延期](https://github.com/kiwanami/emacs-deferred)可以幫助。 –

回答

2

我發現這個問題的答案我自己,我用 emacs-async這樣的:

(async-start 
    `(lambda() 
     (copy-file ,local ,remote-path t t) 
     ,local) 
    (lambda(return-path) 
     (message "Upload '%s' finished" return-path)))) 

將你的路在變量localremote-path。對於目錄,只需將(copy-file)更改爲(copy-directory)即可。

此外,我認爲你也可以使用emacs-deferred,但我還沒有嘗試過。