【问题标题】:DrRacket Custom KeybindingsDrRacket 自定义键绑定
【发布时间】:2025-12-02 09:15:03
【问题描述】:

DrRacket IDE 中, 我想用 C-Tab 更改默认的 C-F6 快捷方式来转移焦点。

在元代码中应该是:

    #lang s-exp framework/keybinding-lang

    (keybinding "c:tab" (λ (editor evt) (send editor shift-focus)))

很遗憾,shift-focus 不是 DrRacket API。我找到了reference,但我无法在用于keybinding 的过程中隐藏它。

【问题讨论】:

    标签: scheme racket key-bindings


    【解决方案1】:

    根据https://docs.racket-lang.org/drracket/Keyboard_Shortcuts.html#%28part._defining-shortcuts%29,您可以将密钥绑定到现有命令,如下所示:

    #lang s-exp framework/keybinding-lang
    
    (define (rebind key command)
      (keybinding
       key
       (λ (ed evt)
         (send (send ed get-keymap) call-function
               command ed evt #t))))
    
    (rebind "c:tab" "shift-focus")
    

    【讨论】:

      最近更新 更多