如何在右侧窗口中打开emacs-nav缓冲区?

问题描述:

当打开emacs-nav时,它会拆分窗口并将导航缓冲区放在左侧。我希望它在右侧进行。也许可以使其缓冲区宽度不变。如何在右侧窗口中打开emacs-nav缓冲区?

很遗憾,我找不到任何文档。

+1

你指的是这样的:http://code.google.com/p/emacs-nav/? – phils 2012-04-03 05:47:20

+0

是的。正好......... – Cynede 2012-04-03 06:31:48

+0

好的。引用非标准库时,您需要提供链接。如果人们无法确定你在问什么,他们无法帮助你。 – phils 2012-04-03 07:01:43

我可以在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) 

似乎提出的解决方案不再适用。

我必须重新定义整个导航功能

(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))))