Emacs-Lisp中的异步拷贝文件和拷贝目录?

时间:2016-11-09 10:30:13

标签: elisp

是否存在可以复制文件和目录的 Emacs Lisp 的功能(支持 TRAMP )并且异步执行此操作?

我的问题是,(copy-file)(copy-directory)会阻止我的编辑器直到完成,如果我使用远程服务器执行 TRAMP ,则需要大约5-10秒直到我可以继续。

1 个答案:

答案 0 :(得分: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,但我还没有尝试过。