有人知道为什么每当我从终端运行emacs "filename"
时,我的终端都会打开一个新的emacs实例吗?
我的google搜索结果显示有太多的人试图自由地这样做,但是我的emacs由于某种原因是默认的。
我发现在我的init.el
或~/.zshrc
中没有解决情况
如果emacs已经在运行,您可以在emacs中启动服务器(M-x start-server
),并在命令行中使用emacsclient
打开文件。您可以为它创建一个别名。
Spacemacs在初始化中有一个dotspacemacs-enable-server
设置。el文件(SPC f e d
)以始终启用服务器。
这对于任何程序来说都是非常正常的默认行为。如果您在一个终端上运行cat
进程,并且在另一个终端上再次运行cat
进程,它们不会以某种方式共享:您将得到两个正在运行的cat
副本。同样的事情适用于emacs
。有一些配置选项可以改变这一点,基本上就是让emacs
的第一个实例充当服务器。然后第二个emacs
仍然启动一个新进程,但不是继续设置一个全新的编辑器,它只是向服务器进程发送信息。