emacs 切换到上次活动 window?
emacs switch to last active window?
我想知道 Emacs lisp 中是否有一种方法可以跳回上次活动的 window,就像 popd
在 Linux 中所做的那样?
我问的原因是在某些评估代码的环境中(例如babel-repl),一旦启动REPL,源代码的编辑区域就会失去对REPL的关注。我想改变它的行为并将焦点切换回编辑区域,例如,通过在 elisp 中添加一个额外的命令以在启动 REPL 之前跳回到最后一个活动 window。
previous-window
或 get-mru-window
应该做你想做的。然后您可以使用
切换
(select-window (previous-window))
如果您只想切换活动缓冲区,可以使用:
(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 可以让你重新访问上次访问的缓冲区。通过提供一个负数,您可以反转它通过缓冲区列表的顺序。
我想知道 Emacs lisp 中是否有一种方法可以跳回上次活动的 window,就像 popd
在 Linux 中所做的那样?
我问的原因是在某些评估代码的环境中(例如babel-repl),一旦启动REPL,源代码的编辑区域就会失去对REPL的关注。我想改变它的行为并将焦点切换回编辑区域,例如,通过在 elisp 中添加一个额外的命令以在启动 REPL 之前跳回到最后一个活动 window。
previous-window
或 get-mru-window
应该做你想做的。然后您可以使用
(select-window (previous-window))
如果您只想切换活动缓冲区,可以使用:
(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 可以让你重新访问上次访问的缓冲区。通过提供一个负数,您可以反转它通过缓冲区列表的顺序。