【问题标题】:Emacs switch to upper or left windows [duplicate]Emacs切换到上部或左侧窗口[重复]
【发布时间】:2014-01-06 02:53:30
【问题描述】:

我想在不同窗口之间切换时加快速度 - 当我有多个窗口时,有时C-x-o 太慢了。比如说,我现在有 4 个窗口,我想通过C-x-up arrow 切换到上一个窗口,通过C-x-left arrow, 切换到左侧,通过C-x-down arrow 切换到底部,通过C-x-right arrow 切换到右侧。我应该如何在 .emacs 中编码?

非常感谢!

【问题讨论】:

    标签: emacs keyboard-shortcuts


    【解决方案1】:

    windmove 包就是为此而设计的。

    默认情况下,您可以使用 Shift 和箭头键切换窗口。如链接帖子中所述,只需

    (when (fboundp 'windmove-default-keybindings)
      (windmove-default-keybindings))
    

    当然,这是完全可配置的。例如,我将它绑定到没有任何修饰符的箭头键(我已经使用C-pC-n 等进行移动),如下所示:

    (when (locate-library "windmove")
      (global-set-key (kbd "<left>") 'windmove-left)
      (global-set-key (kbd "<right>") 'windmove-right)
      (global-set-key (kbd "<up>") 'windmove-up)
      (global-set-key (kbd "<down>") 'windmove-down))
    

    windmove 随 Emacs 一起提供。

    【讨论】:

    • 现在windmove命令都是默认自动加载的,所以你只需要绑定。
    • 另外,没有else条件的if可以写成when,然后你就不需要progn :)
    • @phils,两个优点。我已经相应地更新了自己的配置和答案。
    • 默认的效果很好!
    • 嗯,后一个 - 我只需要复制和粘贴吗?因为它不起作用,我想我需要一些修改,但我对 Emacs 语言真的是新手。无论如何,默认设置可以很好地工作。非常感谢!
    【解决方案2】:

    这是我的最终答案,它运行良好!这是我第一次在 Emacs 中自己定义快捷方式。了不起!非常感谢@Chris!

    (when (locate-library "windmove")
        (global-set-key (kbd "C-x <left>") 'windmove-left)
        (global-set-key (kbd "C-x <right>") 'windmove-right)
        (global-set-key (kbd "C-x <up>") 'windmove-up)
        (global-set-key (kbd "C-x <down>") 'windmove-down)
      )
    

    PS 我的 windmove 包是自动加载的。

    【讨论】:

    • 请务必“接受”克里斯的回答(因为您自己的回答基本相同)。
    猜你喜欢
    • 2010-09-10
    • 1970-01-01
    • 2012-06-02
    • 1970-01-01
    • 1970-01-01
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多