You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在DrRacket中创建复制选中行的快捷键绑定?

在DrRacket中创建复制选中行的快捷键绑定

要在DrRacket里为「复制选中行」功能绑定自定义快捷键,可借助framework/keybinding-lang实现,以下是完整方案:

完整实现代码

#lang s-exp framework/keybinding-lang

; 绑定Meta+D(Windows/Linux为Ctrl+D,Mac为Cmd+D)为复制选中行的快捷键
(keybinding "m:d"
            (λ (editor evt)
              (define start (send editor get-start-position))
              (define end (send editor get-end-position))
              ; 无选中内容时复制当前行,有选中则复制选中区域
              (if (= start end)
                  (let* ([line-start (send editor line-start-position start)]
                         [line-end (send editor line-end-position start)])
                    (send editor copy line-start line-end))
                  (send editor copy start end))
              ; 覆盖默认快捷键行为
              (send evt consume)))

代码说明

  • keybinding "m:d":m:对应Meta键(跨平台适配:Windows/Linux为Ctrl,Mac为Cmd),若需修改快捷键,可替换为其他组合,比如"c:d"(仅Windows/Linux的Ctrl+D)、"s:d"(Shift+D)。
  • 核心逻辑:自动判断是否有选中内容——光标未选中任何文本时,复制当前光标所在的整行;已有选中区域时,直接复制选中内容。
  • (send evt consume):阻止DrRacket原有的Meta+D默认行为(如删除行),确保自定义功能优先触发。

启用步骤

  1. 将上述代码保存为.rkt格式文件,例如copy-line-keybinding.rkt。
  2. 打开DrRacket,点击菜单栏「File」→「Install Package...」。
  3. 在弹窗中选择「From File...」,选中保存的文件后点击「Install」。
  4. 重启DrRacket,自定义快捷键即可生效。

内容的提问来源于stack exchange,提问作者tehkonst

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 22:35:18