我想知道Emacs lisp是否有办法跳回到最后一个活动窗口,就像popd
在Linux中一样?
我问的原因是,在某些用于评估代码的环境(例如babel-repl)中,一旦启动REPL,源代码的编辑区域就会失去焦点到REPL。我想改变它的行为并将焦点切换回编辑区域,例如,在启动REPL之前,在elisp中添加一个额外的命令以跳回到最后一个活动窗口。
答案 0 :(得分:1)
previous-window
或get-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允许您重新访问上次访问的缓冲区。通过提供负数,您可以反转它通过缓冲区列表的顺序。