【问题标题】:emacs switch to last active window?emacs 切换到最后一个活动窗口?
【发布时间】:2017-05-18 06:33:36
【问题描述】:

我想知道 Emacs lisp 中是否有一种方法可以跳回到最后一个活动窗口,就像popd 在 Linux 中所做的那样?

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

【问题讨论】:

    标签: emacs window


    【解决方案1】:

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

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

    【讨论】:

    • 根据文档字符串应该是(get-mru-window nil nil t),根据手册(get-mru-window)应该足够了,根据实际文档字符串是正确的。
    【解决方案2】:

    如果您对只切换活动缓冲区感兴趣,可以使用:

    (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 允许您重新访问上次访问的缓冲区。通过提供一个负数,您可以颠倒它通过缓冲区列表的顺序。

    【讨论】:

      猜你喜欢
      • 2010-09-10
      • 2011-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多