有时我会从命令行启动带有2个文件的emacs,如下所示:
emacs foo.txt bar.txt
这将打开emacs窗口,垂直拆分:
foo.txt
-------
bar.txt
如何编辑我的.emacs文件以便它们并排显示?:
|
foo.txt | bar.txt
|
编辑:为了澄清,我知道如何在 emacs启动后发生这种情况(Mx 0,Mx 3,然后重新访问右侧的bar.txt窗口)。我只是希望emacs在我启动时默认并排拆分,所以我不必这样做。
答案 0 :(得分:18)
这是一个将一对垂直窗口改为一对水平窗口的函数:
(defun 2-windows-vertical-to-horizontal ()
(let ((buffers (mapcar 'window-buffer (window-list))))
(when (= 2 (length buffers))
(delete-other-windows)
(set-window-buffer (split-window-horizontally) (cadr buffers)))))
要在启动时自动执行此操作,请将此功能添加到emacs-startup-hook
:
(add-hook 'emacs-startup-hook '2-windows-vertical-to-horizontal)
答案 1 :(得分:15)
以下(添加到.emacs中)使窗口拆分默认结果为并排缓冲区(而不是一个在另一个缓冲区之上):
(setq split-height-threshold nil)
(setq split-width-threshold 0)
当您启动find-file-other-window
之类的命令时,此默认设置也适用( Ctrl x 4 f < / KBD>)。
(另一方面,要手动拆分窗口以获得两个并排缓冲区,请考虑this回答)。
答案 2 :(得分:7)
使用M-x split-window-horizontally
或Ctrl-x 3
。
答案 3 :(得分:5)
这对我来说效果很好。使用命令行中的-f function-name可以根据需要设置emacs分屏工作区。这给了我每天更新的2 x 2网格的财务文件,并将光标设置在最后的相应窗口上。我将此保存为.bashrc作为别名,因此我可以使用一个命令(doc_financial)将其提取。
alias doc_financial='emacs -nw financial_accounts.txt -f split-window-horizontally financial_budget.txt -f split-window-vertically financial_taxes.txt -f other-window -f split-window-vertically financial_tasks.txt -f other-window -f other-window -f other-window'
答案 4 :(得分:0)
使用水平分割窗口。
答案 5 :(得分:0)
Ctrl -x 2 分割窗口,上方和下方
缓冲液1(上图)
缓冲区2(下方)
Ctrl -x 3 拆分窗口,并排
缓冲区1(左)|缓冲区2(右)
<强> c ^-M-V 强> 滚动其他窗口
答案 6 :(得分:0)
;; 15-Oct-20 open first file in left window
(defun my-startup-layout ()
(let ((buffers (mapcar 'window-buffer (window-list))))
(when (= 2 (length buffers))
(delete-other-windows)
(set-window-buffer (split-window-horizontally) (cadr buffers))))
)
(add-hook 'emacs-startup-hook 'my-startup-layout)
(add-hook 'emacs-startup-hook 'next-multiframe-window)
;; end of customization to open first file on left
;;