如何在没有打开 emacs 的新实例的情况下从终端打开 emacs 中的文件?

How to open a file in emacs from the terminal without a new instance of emacs opening?

有谁知道为什么每当我从我的终端 运行 emacs "filename" 我的终端打开一个新的 emacs 实例?

我的 google 关于这个问题的结果显示太多人试图自由地这样做,但我的 emacs 出于某种原因默认这样做。

我在 init.el~/.zshrc

中发现没有解决案例

这对于任何程序来说都是非常正常的默认行为。如果你在一个终端上有一个 cat 进程 运行ning,而你在另一个终端上又 运行 cat,他们不会以某种方式共享:你得到两份cat运行宁。同样的事情也适用于 emacs。有一些配置选项可以改变这一点,基本上是让 emacs 的第一个实例充当服务器。然后第二个 emacs 仍然启动一个新进程,但不是继续设置一个全新的编辑器,它只是将信息发送到服务器进程。

如果 emacs 已经是 运行,您可以从 emacs 中启动服务器 (M-x start-server),然后在命令行上使用 emacsclient 打开文件。您可以为此创建一个别名。

Spacemacs 在您的 init.el 文件 (SPC f e d) 中有一个 dotspacemacs-enable-server 设置以始终启用服务器。