【发布时间】: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 中编码?
非常感谢!
【问题讨论】:
我想在不同窗口之间切换时加快速度 - 当我有多个窗口时,有时C-x-o 太慢了。比如说,我现在有 4 个窗口,我想通过C-x-up arrow 切换到上一个窗口,通过C-x-left arrow, 切换到左侧,通过C-x-down arrow 切换到底部,通过C-x-right arrow 切换到右侧。我应该如何在 .emacs 中编码?
非常感谢!
【问题讨论】:
windmove 包就是为此而设计的。
默认情况下,您可以使用 Shift 和箭头键切换窗口。如链接帖子中所述,只需
(when (fboundp 'windmove-default-keybindings)
(windmove-default-keybindings))
当然,这是完全可配置的。例如,我将它绑定到没有任何修饰符的箭头键(我已经使用C-p、C-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 一起提供。
【讨论】:
if可以写成when,然后你就不需要progn :)
这是我的最终答案,它运行良好!这是我第一次在 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 包是自动加载的。
【讨论】: