Подтвердить что ты не робот

Когда вы открываете 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 разбивались бок о бок по умолчанию при запуске, поэтому мне не нужно.

4b9b3361

Ответ 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 Прокрутите другое окно