sublime怎么自定义快捷键绑定? (Default.sublime-keymap)

发布时间 - 2026-01-07 00:00:00    点击率:
所有自定义快捷键必须写在User.sublime-keymap中,不可修改Default文件;该文件是JSON数组,每项需含keys和command字段,支持args传参;命令名可通过命令面板、控制台日志或查阅Default文件获取;后加载的用户配置会覆盖默认及插件配置,禁用快捷键可用"unbound"。

别碰 Default.sublime-keymap 文件——它属于系统默认配置,直接修改不仅容易被更新覆盖,还可能引发异常。所有自定义都应写在 User.sublime-keymap 里。

打开正确的配置文件

点击顶部菜单 Preferences → Key Bindings,会并排打开两个文件:

  • 左侧是只读的 Default (Windows).sublime-keymap(或对应你系统的版本),可用来查命令名和原快捷键,但不可编辑
  • 右侧是可编辑的 User.sublime-keymap,所有新增、修改、覆盖操作都只在这里做

写对 JSON 格式

用户文件本质是一个 JSON 数组,每条快捷键是一条对象,必须包含 keyscommand 字段:

  • "keys" 是按键组合,用小写英文,多个键用逗号分隔,如 ["ctrl+alt+l"]
  • "command" 是 Sublime 内部命令名,比如 "save""toggle_comment""reindent"
  • "args" 可选,用于传参,例如 {"overlay": "command_palette"} 指定打开命令面板
  • 整份文件必须是合法 JSON:中括号包裹、对象间用逗号分隔、引号统一用英文双引号

怎么知道命令名?

不确定某个功能对应的 command 名?有三个靠谱办法:

  • 打开命令面板(Ctrl+Shift+P),输入功能关键词(如“comment”),右侧显示的正是实际命令名
  • 在控制台(Ctrl+`)中输入 sublime.log_commands(True),然后手动执行一次该操作,控制台会打印出完整命令和参数
  • 浏览左侧 Default 文件,搜索关键词(如 “comment” 或 “delete_line”),直接抄对应 command 值

覆盖或禁用已有快捷键

Sublime 加载顺序是:默认键位 → 插件键位 → 用户键位。后加载的同名 command 会自动覆盖前面的。

  • 想改“删除当前行”为 Ctrl+D,就在 User 文件里加:
    { "keys": ["ctrl+d"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Line.sublime-macro"} }
  • 想彻底禁用某个快捷键(比如不想让 Ctrl+S 保存),加一条指向不存在命令或 unbound:
    { "keys": ["ctrl+s"], "command": "unbound" }

基本上就这些。不复杂但容易忽略优先级顺序和 JSON 校验,保存后如果没生效,先看右下角有没有红色报错提示。


# sublime  # js  # json  # windows  # mac  # win  # 配置文件  # 报错提示  # json数组  # delete  # 对象  # default  # 关键词  # 英文  # 加载  # 自定义  # 写在  # 里加  # 是一个  # 在这里  # 就在  # 多个 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 奇安信“盘古石”团队突破 iOS 26.1 提权  Bootstrap整体框架之CSS12栅格系统  Python面向对象测试方法_mock解析【教程】  Laravel如何实现API版本控制_Laravel版本化API设计方案  如何用虚拟主机快速搭建网站?详细步骤解析  非常酷的网站设计制作软件,酷培ai教育官方网站?  如何用腾讯建站主机快速创建免费网站?  Laravel如何实现API资源集合?(Resource Collection教程)  Android Socket接口实现即时通讯实例代码  原生JS获取元素集合的子元素宽度实例  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  如何在景安服务器上快速搭建个人网站?  音乐网站服务器如何优化API响应速度?  如何正确下载安装西数主机建站助手?  Laravel如何使用Eloquent进行子查询  JS经典正则表达式笔试题汇总  昵图网官网入口 昵图网素材平台官方入口  如何用免费手机建站系统零基础打造专业网站?  js实现获取鼠标当前的位置  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  如何用西部建站助手快速创建专业网站?  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  如何快速辨别茅台真假?关键步骤解析  香港服务器网站卡顿?如何解决网络延迟与负载问题?  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  如何在阿里云部署织梦网站?  如何有效防御Web建站篡改攻击?  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  如何用狗爹虚拟主机快速搭建网站?  Python正则表达式进阶教程_复杂匹配与分组替换解析  Thinkphp 中 distinct 的用法解析  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  三星、SK海力士获美批准:可向中国出口芯片制造设备  浅谈redis在项目中的应用  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  Linux系统运维自动化项目教程_Ansible批量管理实战  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】  5种Android数据存储方式汇总  怎么用AI帮你设计一套个性化的手机App图标?  如何用y主机助手快速搭建网站?  深圳网站制作培训,深圳哪些招聘网站比较好?  Android自定义listview布局实现上拉加载下拉刷新功能  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  如何安全更换建站之星模板并保留数据?  如何为不同团队 ID 动态生成多个独立按钮