Emacs 中的慢 TRAMP 模式

jmd*_*din 5 emacs tramp

如何使 Emacs TRAMP 模式更快?

我有ControlMaster auto我的 SSH 配置,它正在工作:

$ time ssh -v debel echo foo
OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /Users/jmdeldin/.ssh/config
debug1: Applying options for *
debug1: Applying options for debel
debug1: Reading configuration data /etc/ssh_config
debug1: Applying options for *
debug1: auto-mux: Trying existing master
debug1: mux_client_request_session: master session id: 9
foo
debug1: mux_client_request_session: master session id: 9

real    0m0.014s
user    0m0.008s
sys     0m0.003s
Run Code Online (Sandbox Code Playgroud)

但是 TRAMP 非常缓慢(大约 3 s 文件保存),如在此截屏视频中所示M-x shell工作正常,但节省是真正的减速。这不是 TRAMP 能做的最好的事情,对吧?

细节

  • GNU Emacs 24.1.1(2012-06-01 构建)
  • 我正在运行一个普通的 Emacs 实例(我在视频中评估了一个颜色主题,但就是这样)。
  • VM 正在我的机器上运行。
  • 我正在通过 与 TRAMP 连接/rsync:user@host:file,但我尝试过sshscp、 甚至rsh,而且所有这些都滞后。

Iva*_*rus 2

据传子进程处理存在问题,尤其是在 OS X 上。不幸的是,似乎不知道问题到底是什么。有几个与之相关的未解决的错误。一种建议更改超时会有所帮助,另一种建议将设置设置process-connection-typenil有所帮助。请阅读它们以了解有关应在何处以及如何应用这些内容的详细信息,以便提供帮助。

您还可以尝试“ Mac Port ”,IIRC 应该具有更好的进程处理能力,并且总体来说非常好。