Откройте emacs с горизонтальным разделением

При открытии emacs с двумя файлами $ emacs a.txt b.txt окно разделяется по вертикали.

Вместо этого мне нужно горизонтальное разделение. Есть ли переменная, которая управляет этим поведением, или есть ловушка, с помощью которой я могу переопределить одно поведение, не изменяя также другое поведение?

Я просмотрел связанные вопросы на StackOverflow, но они имели другую направленность, и их ответы не были напрямую применимы:

Я хотел бы найти конкретный код, запускаемый при открытии emacs, и изменить только один вызов на (split-window-vertically).

Если это важно, я использую GNU Emacs 24.3.1.


person Raymond Hettinger    schedule 04.10.2013    source источник


Ответы (3)


Конкретный код для открытия файлов из командной строки находится в 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)
person Lars Brinkhoff    schedule 04.10.2013

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 загрузите также ваш файл инициализации.

Ну, для полноты картины, когда уже в файле: C-x 3

person Andreas Röhler    schedule 04.10.2013

Есть возможность транспонировать вертикальное / горизонтальное разделение. Очень удобно и весело.

person abo-abo    schedule 04.10.2013