停止emacs自动打开窗口

停止emacs自动打开窗口,emacs,Emacs,这个问题可能适用于除haskell模式之外的其他emacs模式,因为我假设emacs有一种打开自动创建缓冲区窗口的通用方法: emacs的haskell模式使我能够点击C-C-l将当前缓冲区的内容加载到haskell交互式会话中,这会自动使emacs在当前帧的拆分窗口中打开会话的缓冲区。由于我正在运行一个安装程序,多个emacs客户端连接到一个服务器,所以我真的不想在每个打开的帧中显示缓冲区。有什么方法可以防止emacs做这种事情吗?啊,我在发布这篇文章后找到了一个解决方案:) 添加 (setq

这个问题可能适用于除
haskell模式
之外的其他emacs模式,因为我假设emacs有一种打开自动创建缓冲区窗口的通用方法:


emacs的haskell模式使我能够点击C-C-l将当前缓冲区的内容加载到haskell交互式会话中,这会自动使emacs在当前帧的拆分窗口中打开会话的缓冲区。由于我正在运行一个安装程序,多个emacs客户端连接到一个服务器,所以我真的不想在每个打开的帧中显示缓冲区。有什么方法可以防止emacs做这种事情吗?

啊,我在发布这篇文章后找到了一个解决方案:)

添加

(setq special-display-buffer-names
      '("*haskell*" "*Help*"))
emacs告诉emacs在一个帧而不是拆分中打开这些缓冲区

编辑:但是,对于emacs来说,一个更好的解决方案是永远不要自动创建帧/分割,而只是在后台默默地创建特殊的缓冲区。但是我不知道如何指定它。

在init.el中

(setq split-height-threshold 5)
(setq split-width-threshold 5)

你想把它展示在哪里?不应该。如果互动系统的缓冲区只是在后台创建的,我可以将其放置在我自己想要的框架/窗口中。我找到的“最正确”的解决方案已经发布。是Emacs手册中解释变量和底层流程如何工作的相关条目。我不知道如何阻止Emacs创建新帧,但“-nw”开关将阻止它创建任何帧,无论是新帧还是其他帧。