emacs切换到上一个活动窗口?

时间:2017-05-18 06:33:37

标签: emacs window

我想知道Emacs lisp是否有办法跳回到最后一个活动窗口,就像popd在Linux中一样?

我问的原因是,在某些用于评估代码的环境(例如babel-repl)中,一旦启动REPL,源代码的编辑区域就会失去焦点到REPL。我想改变它的行为并将焦点切换回编辑区域,例如,在启动REPL之前,在elisp中添加一个额外的命令以跳回到最后一个活动窗口。

2 个答案:

答案 0 :(得分:1)

previous-windowget-mru-window应该做你想做的事。然后,您可以使用

切换
(select-window (previous-window))

答案 1 :(得分:0)

如果您只想切换活动缓冲区,可以使用:

(defun prev-window ()
  (interactive)
  (other-window -1))
(global-set-key [(f12)] 'prev-window)

(global-set-key "\C-cp" 'prev-window)
(global-set-key "\C-cn" 'other-window)

我的〜/ .emacs文件中有这个。 CTRL + C 然后 p (或 F12 )转到上一个缓冲区。 CTRL + C 然后 n 转到下一个缓冲区。函数other-buffer允许您重新访问上次访问的缓冲区。通过提供负数,您可以反转它通过缓冲区列表的顺序。