【问题标题】:emacs elisp (other-window 0)emacs elisp(其他窗口 0)
【发布时间】:2015-12-07 04:22:58
【问题描述】:

我尝试编写一个 hydra 函数来切换窗口。 基本上我希望 C-x o 将我带到另一个窗口,然后“o”将循环遍历所有窗口。所以我输入了 .emacs

(global-set-key
   (kbd "C-x o")
   (defhydra hydra-other-window (:pre (other-window 1))
     "hydra other window"
     ("o" (other-window 1) "Next window")))

它不起作用。 C-x o 确实把我带到了另一个窗口, 但按“o”什么也不做。 但是,如果我将最后一行中的 1 更改为 0, 它按预期工作。这很令人惊讶,因为 根据文档,(其他窗口 0)将只是 在当前窗口中选择。对此有很好的解释吗? 任何帮助将不胜感激。

【问题讨论】:

    标签: emacs hydra


    【解决方案1】:

    您可以使用更简单的代码:

    (defhydra hydra-other-window (global-map "C-x")
      "hydra other window"
      ("o" (other-window 1) "Next window"))
    

    【讨论】:

    • 修改后 C-x 2 等会照常工作吗?
    • 我测试了你的代码。效果很好!非常感谢。你知道为什么在我的原始代码中,第二个“1”必须是“0”吗?
    • 您的原始代码调用other-window 两次。您只想调用一次。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-01
    • 2014-08-07
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多