У меня emacs ведет себя более или менее так, как я хочу, используя этот общий бит elisp:
(defun toggle-current-window-dedication ()
(interactive)
(let* ((window (selected-window))
(dedicated (window-dedicated-p window)))
(set-window-dedicated-p window (not dedicated))
(message "Window %sdedicated to %s"
(if dedicated "no longer " "")
(buffer-name))))
(global-set-key [pause] 'toggle-current-window-dedication)
К сожалению, dired использует каталог для имени буфера, поэтому выделение dired окна только выделяет его для этого каталога. Как только вы перемещаетесь вверх или вниз, он открывает новый буфер в отдельном окне. То, что я хотел бы сделать, это выделить окно для основного режима (в этом случае - dired) и иметь все новые буферы, которые по умолчанию для этого режима предпочитают это окно. Возможно ли это?