我在 emacs 中使用M-x ansi-term
,我使用的很多工具(不仅仅是 git)都使用$EDITOR
.
因为在内部运行 emacs 有点烦人,所以我想配置我的$EDITOR
变量,以便它在运行当前实例的 emacs 会话中打开一个新缓冲区ansi-term
。
有什么办法可以做到这一点吗?
答案1
之前在 stackoverflow 上有人问过这个问题。这里是公认的答案:
您可以通过 emacsclient 附加到 Emacs 会话。首先,启动 emacs 服务器
Mx server-start 或添加 (server-start) 到您的 .emacs。然后,
导出 VISUAL=emacsclient 编辑掉。
笔记:
- emacs 和 emacsclient 的版本必须一致。如果您安装了多个版本的 Emacs,请确保调用与运行服务器的 Emacs 版本相对应的 emacsclient 版本。
- 如果您在多个 Emacs 进程/框架中启动服务器(例如,因为 (server-start) 位于您的 .emacs 中),则将在最后一个框架中创建缓冲区以启动服务器。