![移动到 emacs 中的上一个窗口](https://linux22.com/image/1277010/%E7%A7%BB%E5%8A%A8%E5%88%B0%20emacs%20%E4%B8%AD%E7%9A%84%E4%B8%8A%E4%B8%80%E4%B8%AA%E7%AA%97%E5%8F%A3.png)
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-buffer
和previos-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 中。