3

我正在使用windmove在窗口之间切换。默认情况下,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 是否提供了一种简单的方法来做到这一点?

4

3 回答 3

4
M-x customize-variable RET windmove-wrap-around RET

是这样吗?该变量基本上位于windmove.el.

如果不想打开源文件,

M-x customize-group RET windmove RET

将向您显示属于此模式的所有可自定义变量。两个都。

于 2012-12-29T16:31:33.637 回答
1

对于更改窗口,您可能想尝试这个包:

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

这可能更容易用于窗口导航目的。至于您回答的直接问题,我确实会以类似的方式对其进行编程,尽管我也认为有一个更合适的答案。

于 2012-12-29T17:26:39.673 回答
1

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

(setq windmove-wrap-around t)
于 2012-12-29T18:19:30.733 回答