2016-11-09 45 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,但我还没有尝试过。