windmove支持环绕Emacs中的导航吗?

时间:2012-12-29 14:35:19

标签: emacs

我正在使用windmove在Windows之间切换。默认情况下,windmove不会回绕,例如,当您已经位于窗口顶部时,windmove-up将失败。但是,我希望它环绕并导航到底部窗口。

我设法让它工作,但解决方案是一个非常黑客(如果有错误只是反转方向并继续,直到它再次失败):

(define-key my-keys-minor-mode-map (kbd "C-M-k") (lambda () (interactive)
                            (unless
                                (ignore-errors (windmove-up))
                                (while (ignore-errors (windmove-down)) ()))))

有更优雅的解决方案吗? windmove提供了一种直接的方式吗?

3 个答案:

答案 0 :(得分:4)

M-x customize-variable RET windmove-wrap-around RET
是吗?该变量基本上位于windmove.el的顶部。

如果您不想打开源文件,

M-x customize-group RET windmove RET

会显示属于此模式的所有可自定义变量。他们两个。

答案 1 :(得分:1)

要更改窗口,您可能需要尝试this包:

switch-window:调用时,它允许您从中选择一个窗口(它将数字选择从1覆盖到窗口上的窗口数量)。选择一个数字将切换到相关的窗口。

这可能更容易用于窗口导航。至于你答案的直接问题,我确实会以类似的方式对它进行编程,不过我也认为有更合适的答案。

答案 2 :(得分:0)

将其添加到您的.emacs文件中:

(setq windmove-wrap-around t)
相关问题