定义 Control-Shift-* Emacs 键盘快捷键

Ame*_*ina 6 emacs keyboard-shortcuts

我试图定义以下两个键盘快捷键来在 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)
Run Code Online (Sandbox Code Playgroud)

问题似乎出在最后两行,它们定义了切换窗口的功能的实际键盘快捷键(如果我使用更简单的键盘快捷键而不是 Control-Shift-*它的工作原理)。

那么,我该如何kbd定义Control-Shift-nandControl-Shift-p呢?

spi*_*ike 6

假设您从不使用大写锁定,这是一个超级简单的解决方案:

(global-set-key (kbd "C-N") 'select-next-window)
Run Code Online (Sandbox Code Playgroud)

或者

(global-set-key (kbd "C-<S-N>") 'select-next-window)
Run Code Online (Sandbox Code Playgroud)

问题是,当你按下shift键时,你正在发送大写的N。