关于远程文件编辑的方式选择

这个问题也属于月经贴了,论坛里过往很多:https://emacs-china.org/search?q=emacs%20远程%20编辑

你说的 server/client 模式,其实是间接的 tramp。所以两种方案应该是:

  1. ssh 登录远程,运行远程电脑上的 emacs
  2. tramp 2.1 直接 tramp 打开远程文件 2.2 在本地启动 emacs-server,然后远程运行 emacs-client, 穿透回来

无意说哪一种方案更好,如果让我决定,我会考虑:

  • 如果编辑少量并且是小文件,例如配置文件,或者明确知道要修改什么,一锤子买卖这种,就直接 tramp。 至于远程 emacs-client,并没有实质不同,而且配置略麻烦一些。

  • 如果是一个完整的工程,长期编辑,必须在远程配置 emacs 了,因为 tramp 只会把你编辑过的文件传到本地,这些文件是孤立的,想要自动补全、静态分析…这些就很困难了。

速度方面:

  • tramp 比较慢,因为哪怕你该懂一个字符,也需要同步整个文件(所以大文件慎用 tramp),但是有个好处,你可以很方便拷贝整个 buffer 的内容,有些人比较需要这个;
  • 运行远程 emacs 速度无疑快很多,因为它只传输屏幕内容到你本地,相应的,要拷贝整个 buffer 就不容易了。
3 个赞