我想定义以下两个键盘快捷方式以在Emacs中在窗口之间移动:
C-shift-n:
转到下一个窗口C-shift-b:
转到前一个窗口
我认为以下代码可以实现,但事实并非如此。
(defun select-next-window ()
"Switch to the next window"
(interactive)
(select-window (next-window)))
(defun select-previous-window ()
"Switch to the previous window"
(interactive)
(select-window (previous-window)))
(global-set-key (kbd "C-<S-n>") 'select-next-window)
(global-set-key (kbd "C-<S-p>") 'select-previous-window)
问题似乎出在最后两行,这两行定义了实际的键盘快捷键来切换窗口(如果我使用简单的键盘快捷键而不是
Control-Shift-*
,它就正常工作)。那么,我该如何使用
kbd
来定义Control-Shift-n
和Control-Shift-p
?
C-h k
命令来查找 Emacs 如何引用给定的按键组合,然后将精确的字符串传递给(kbd)
函数。虽然还有其他指定按键的方法,但我认为这种对称性使得kbd
是最佳选择。 - phils