Когда вы открываете 2 файла в emacs, как они могут появляться бок о бок?
Иногда я запускаю emacs из командной строки с двумя файлами следующим образом:
emacs foo.txt bar.txt
Это открывает окно emacs, разделенное по вертикали:
foo.txt
-------
bar.txt
Как я могу изменить файл .emacs так, чтобы они отображались бок о бок, например:
|
foo.txt | bar.txt
|
EDIT. Чтобы уточнить, я знаю, как это сделать после запуска emacs (M-x 0, M-x 3, а затем повторно посетить bar.txt в правом окне). Я просто хочу, чтобы emacs разбивались бок о бок по умолчанию при запуске, поэтому мне не нужно.
Ответы
Ответ 1
Здесь функция, которая изменит пару вертикальных окон на пару горизонтальных окон:
(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)
Ответ 2
Следующее (для добавления в ваш .emacs) делает разбиение по умолчанию по умолчанию в боковых боковых буферах (а не на одном над другим):
(setq split-height-threshold nil)
(setq split-width-threshold 0)
Это значение по умолчанию также применяется при запуске команды a, например find-file-other-window
(Ctrl x 4 f).
(С другой стороны, чтобы вручную разделить окно, чтобы получить два бок-о-боковых буфера, рассмотрите этот ответ).
Ответ 3
Используйте M-x split-window-horizontally
или Ctrl-x 3
.
Ответ 4
Это хорошо сработало для меня. Используйте -f имя-функции из командной строки, чтобы настроить рабочую область с разделенным экраном 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'
Ответ 5
Используйте split-window-horizontally.
Ответ 6
Ctrl-x 2
Разделить окно выше и ниже
Буфер 1 (выше)
Буфер 2 (ниже)
Ctrl-x 3
Разделить окно, бок о бок
Буфер 1 (слева) | Буфер 2 (справа)
С-М-V
Прокрутите другое окно