Как открыть буфер emacs-nav в правом окне? - PullRequest
2 голосов
/ 03 апреля 2012

При открытии emacs-nav он разбивает окно и помещает буфер навигации слева. Я хотел бы, чтобы это пошло на правой стороне вместо этого. И, возможно, сделать его ширину буфера постоянной.

К сожалению, я не могу найти документы для этого.

Ответы [ 2 ]

3 голосов
/ 03 апреля 2012

В нижней части nav.el я вижу, что (nav) вызывает (split-window-horizontally), что оставляет выбранное левое окно, а затем переходит к вызову (nav-in-place), который меняет выбранное окно наокно навигации.

Таким образом, использование правого окна на самом деле не поддерживается;однако, предполагая, что больше ничего не нужно вызывать nav-in-place (разумеется, на него нет ссылок нигде в этом файле), мы могли бы посоветовать ему переключиться на другое окно, прежде чем действовать.

(defadvice nav-in-place (before my-nav-in-other-window)
  "Start Nav in the other window, after splitting."
  (other-window 1))
(ad-activate 'nav-in-place)
1 голос
/ 25 апреля 2012

Кажется, предлагаемое решение больше не работает.

Мне нужно переопределить всю навигационную функцию

(defun nav-right ()
  "Run nav-mode in a narrow window on the left side."
  (interactive)
  (if (nav-is-open)
      (nav-quit)
    (delete-other-windows)
    (split-window-horizontally)
    ;;(other-window 1)
    (ignore-errors (kill-buffer nav-buffer-name))
    (pop-to-buffer nav-buffer-name nil)
    (set-window-dedicated-p (selected-window) t)
    (nav-mode)
    (when nav-resize-frame-p
      (nav-resize-frame))))
...