Почему Set-Default-Font влияет на Find-File-Other-Window?
-
14-10-2019 - |
Вопрос
Я недавно добавил линию
(set-default-font "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1")
в мой файл .emacs. После того find-file-other-window
Всегда открывает новое окно вместо использования существующих окон. Зачем это случиться!? Как я могу это исправить?
Я не понимаю, как работает вся эта магия Font-Config, поэтому, если это действительно очевидно, мне жаль.
РЕДАКТИРОВАТЬ: У меня довольно большое разрешение, и мой размер шрифта значительно снизился. Делает find-file-other-window
Принять во внимание доступное пространство персонажей? Возможно, это решает, что есть ооочень много места, которое он может позволить себе просто открыть окна Willy Olly.
Решение
find-file-other-window
в конечном итоге звонит display-buffer
, который запускает сложный алгоритм, чтобы решить, следует ли повторно использовать существующее окно или сделать его и как. В частности, если display-buffer
решает, что ему нужно создавать или переработать окно, он пытается позвонить split-window-preferred-function
Разделите самое большое окно. По умолчанию, split-window-preferred-function
является split-window-sensibly
, который готов вертикально разделить Windows, если они больше, чем split-height-threshold
линии высокого или сбой в горизонтали, если они больше, чем split-width-threshold
колонны широко.
Похоже, ты хочешь
(setq split-width-threshold nil)
(setq split-height-threshold nil)
NB Этот ответ применим к GNU EMACS 23. Ранние версии не имели горизонтального расщепления. Более поздние версии могут делать вещи по -другому.
Несколько способов узнать это (нет простой):
- Если вы предполагаете, что то, что происходит, называется разделением окна:
M-x apropos RET split RET
Показывает ряд переменных и функций, и вы можете выяснить, какие из них актуальны. Или если вы предполагаете, что есть вариант (часто есть),C-h v split- TAB
показывает многообещающие лидеры. - А Документация для
find-file-other-window
использованная литература Отображение буферов. Анкет (Вы должны пойти в руководство Elisp для этого уровня детализации; в Emacs,C-h i m elisp RET
поднимает руководство Elisp, иi find-file-other-window RET
приводит вас к документации для этой функции.) Менее ясно, чтоpop-to-buffer
это отрывок для чтения там; это ссылки Выбор окна который содержит востребованную информацию. C-h f find-file-other-window RET
показывает встроенную документацию для функции. Он ссылается наdisplay-buffer
. Анкет Описаниеdisplay-buffer
не описывает его работу подробно, поэтому оттуда вам нужно либо проконсультироваться с руководством ELISP, как указано выше, либо изучить источникdisplay-buffer
Нажавwindow.el
.