打开具有水平拆分的emacs

时间:2013-10-04 16:16:12

标签: emacs elisp dot-emacs

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

我需要进行水平拆分。是否有一个控制此行为的变量,或者是否有一个钩子,我可以在不改变其他行为的情况下覆盖一个行为?

我已经查看了StackOverflow上的相关问题,但他们有不同的侧重点,他们的答案不能直接应用:

我想找到打开emacs时运行的具体代码,并将一次调用更改为(split-window-vertically)

如果重要,我正在使用GNU Emacs 24.3.1。

3 个答案:

答案 0 :(得分:2)

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也会加载你的init文件。

嗯,只是为了完整性,已经在一个文件中:C-x 3

答案 1 :(得分:2)

从命令行打开文件的特定代码位于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)

答案 2 :(得分:0)

transpose有一个选项 垂直/水平分割。非常方便和有趣。