打开水平拆分的 emacs



当打开包含两个文件的 emacs $ emacs a.txt b.txt时,窗口垂直拆分。

我需要水平拆分。 是否有控制此行为的变量,或者是否有一个钩子可以在其中覆盖一个行为而无需更改其他行为?

我看过StackOverflow上的相关问题,但它们有不同的重点,他们的答案并不直接适用:

  • OP 想在打开文件时删除其他窗口:如何防止 emacs 在打开多个文件时水平分割屏幕?

  • OP 希望全局影响所有拆分窗口的功能,答案涉及欺骗拆分算法,使其认为垂直拆分没有足够的空间: 将 Emacs 拆分设置为水平,这同样适用于:使用垂直拆分打开新的 Emacs 缓冲区

我想找到打开 emacs 时运行的特定代码,并仅更改对 (split-window-vertically) 的一次调用。

如果重要,我使用的是GNU Emacs 24.3.1。

从命令行打开文件的特定代码在 startup.el 中。 该函数command-line-1,它调用find-file-other-window(在两个不同的地方(。

您应该能够在 .emacs 中执行类似操作,但我不确定详细信息:

(defadvice find-file-other-window (before split (file &optional wildcards))
  (if <during command line processing>
      (split-window-horizontally)))
(ad-activate 'find-file-other-window)
emacs -Q a.txt -eval "(split-window-horizontally)" -eval "(find-file "b.txt")"

也许也可以设置一些字体,例如Liberation Mono-18:

emacs -Q a.txt -eval "(split-window-horizontally)" -eval "(find-file "b.txt")" --font 'Liberation Mono-18'

如果没有选项 -Q,也加载您的初始化文件。

好吧,只是为了完整起见,当已经在文件上时:C-x 3

有一个转置的选项垂直/水平拆分。非常方便和有趣。

最新更新