2017-06-26 24 views
1

我在dotspacemacs/user-config中设置(setq split-width-threshold 100),以便在窗口足够宽的情况下使各种缓冲区水平分割。这适用于magit状态等。如何使spacemacs编译缓冲区水平分割?

但是,编译日志缓冲区似乎忽略了这一点,并始终在底部打开。

如何使编译缓冲区坚持split-width-threshold?或者,如何让它始终水平分割?

我对emacs和spacemacs都很陌生。

回答

0

another answer

(setq split-height-threshold nil) 
(setq split-width-threshold 0) 

如果你想这些设置只影响compile

(defadvice compile (around split-horizontally activate) 
    (let ((split-width-threshold 0) 
     (split-height-threshold nil)) 
    ad-do-it)) 
+0

正如我写我已经这样做,但它没有预期的效果。这就是我想要解决的问题。我猜这与Spacemacs有关(我相信其他答案涉及到vanilla emacs),但我可能是错的。 – Jostein

+0

你在你的文章中说你将分割宽度阈值设置为100而不是0,对吗?你有没有尝试将它设置为0? 这可能是Spacemacs做了一些棘手的缓冲区放置,但我不知道有任何这样的行为。你可以在vanilla emacs配置中试试看看发生了什么。 –

+0

是的,我的确尝试了0和100,不管怎么说,这并不重要,因为我的宽度超过了100,而且它的工作方式与magit缓冲区一样。但由于某种原因,编译缓冲区似乎不受阈值的限制。我可以去spacemacs本身挖掘或尝试了解更多关于emacs配置,但我希望有人可能有同样的问题.. – Jostein

0

的原因编译不服从你的设置,是因为spacemacs自带的默认启用purpose-mode。如果你使用它,那么就可以根据需要修改目的布局。但是,如果您没有使用purpose-mode,那么禁用它会为我解决问题。要试用一下,你可以做SPC SPC purpose-mode RET然后(只有一个窗口打开)运行编译。

+0

感谢您的答案,但是这也不适用于我。我没有安装目的层,SPC SPC中没有可用的模式。 – Jostein

+0

@Jostein所以现在我想知道。我以这种方式为自己设法解决了这个问题,所以我马上得出结论,这是根本原因。然而,从那以后,我删除了特定模式软件包,但它不再适用于我。所以我想这只是一次。我想,在开始这个化身时,我应该对我的“运气”财产提出一些观点。韦尔普。对不起,误导性的答案。 – nert