我喜欢emacsclient。它允许我使用单个 Emacs 框架进行所有编辑,当程序想要打开一个编辑器(即export EDITOR=emacsclient
)时也是如此。
我也想让它在虚拟机上像这样工作。我可以使用 tramp 在我的单帧设置中使用 Emacs 编辑远程文件,并且效果很好,但这还不够。当我调用git commit
orsudoedit
时,我将不得不使用碰巧安装在远程机器上的基于终端的糟糕编辑器。
那么,有没有类似 emacsclient 的东西可以跨多台机器工作?
我喜欢emacsclient。它允许我使用单个 Emacs 框架进行所有编辑,当程序想要打开一个编辑器(即export EDITOR=emacsclient
)时也是如此。
我也想让它在虚拟机上像这样工作。我可以使用 tramp 在我的单帧设置中使用 Emacs 编辑远程文件,并且效果很好,但这还不够。当我调用git commit
orsudoedit
时,我将不得不使用碰巧安装在远程机器上的基于终端的糟糕编辑器。
那么,有没有类似 emacsclient 的东西可以跨多台机器工作?
推测:如果您可以从 VM SSH 回到您的本地计算机,那么 VM 可能会在您的本地计算机上调用 emacsclient,并在远程文件中使用适当的 tramp 前缀?为此设置一个脚本,并配置您的远程 EDITOR 环境变量以匹配。
可能你可以用 TRAMP 做的比你想象的要多。首先,您可能已经注意到 /sudo: 不适用于远程机器,但 TRAMP 允许您代理到远程机器,然后使用任何支持的协议,因此实际上您可以在远程机器上使用 /sudo:。见tramp-default-proxies-alist
。
您提到在远程机器上调用 git commit。您是否考虑过使用 Emacs git 接口之一,例如 magit?他们也将通过 TRAMP 工作。