打开包含两个文件$ emacs a.txt b.txt
的emacs时,窗口会垂直分割。
我需要进行水平拆分。是否有一个控制此行为的变量,或者是否有一个钩子,我可以在不改变其他行为的情况下覆盖一个行为?
我已经查看了StackOverflow上的相关问题,但他们有不同的侧重点,他们的答案不能直接应用:
OP打开文件时想要删除其他窗口:How do I prevent emacs from horizontally splitting the screen when opening multiple files?
OP希望全局影响分割窗口的所有功能,答案包括欺骗分割算法,认为没有足够的空间进行垂直分割:Setting Emacs Split to Horizontal和同样适用于: Open new Emacs buffer using vertical splitting
我想找到打开emacs时运行的具体代码,并将一次调用更改为(split-window-vertically)
。
如果重要,我正在使用GNU Emacs 24.3.1。
答案 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有一个选项 垂直/水平分割。非常方便和有趣。