移动到 emacs 中的上一个窗口

移动到 emacs 中的上一个窗口

C-xo 将您移动到 ​​emacs 中的下一个窗口,如何移动到上一个窗口?

我有时会打开多达 10 个窗口,向任一方向移动都很棒。

还有没有办法通过数字跳转到特定窗口?(例如跳转到第 3 个窗口)

答案1

这个怎么样:

(defun other-window-backwards (count)
  (interactive "p")
  (other-window (- count)))

(global-set-key [(control meta prior)] 'other-window-backwards)
(global-set-key [(control meta next)]  'other-window)

然后使用 CM-prior (Page Up) 移动到上一个窗口,使用 CM-next (Page Down)。风格绑定适合!

答案2

您可以为命令 Cx o 指定 -1 参数,如下所示:Cu -1 Cx o

这将带你到上一个窗口

同样要取回 3 个窗口使用:Cu -3 Cx o

答案3

你是指缓冲区吗?如果是这样的话,有next-bufferprevios-buffer函数可以执行Switch to the next/previous buffer in cyclic order

编辑:使用spong 回答。我使用 windmove 进行窗口切换。

(windmove-default-keybindings) ;; Shift+direction  
(global-set-key (kbd "C-x O") (lambda () (interactive) (other-window -1))) ;; back one
(global-set-key (kbd "C-x C-o") (lambda () (interactive) (other-window 2))) ;; forward two

答案4

Bart(和其他人)已经为您的确切问题给出了正确答案。您还可以查看windmove哪些应该包含在最新的 Emacsen 中。

相关内容