
CMD + Delete
一个用于Minecraft的文本导航快捷键框架,允许macOS用户获得原生文本行为,并允许其他所有人自定义快捷键。
CMD + Delete
在 macOS 上玩《我的世界》时,按 option + backspace 会删除单个字符,而按 command + backspace 会删除一个单词。这与操作系统原生行为完全不一致,所以我修复了它……
这个模组还作为一个功能完备的、可配置的《我的世界》文本编辑/导航快捷键框架,支持自定义映射 JSON 和分享码、游戏内切换等功能!
一些背景
- 如果你在 Windows 或 Linux 上使用此模组,且未使用自定义映射,那么游戏行为将与原版《我的世界》完全一致。
- 如果你使用此模组时遇到任何问题,请在 GitHub 上提交 Issue 反馈。此模组是开源的,非常欢迎提交 Pull Request!:)
注意:
CMD + Delete 是一个 Fabric 模组,同时也支持 Quilt,适用于《我的世界》1.16 至最新版本。
它还支持 Forge 1.20.1 和 NeoForge 1.21.1,但仅可通过 Sinytra Connector 使用。

内置映射快捷键
默认情况下,CMD + Delete 会检测你是否在使用 macOS。如果是,则会自动设置为 macOS 快捷键;否则将使用 Windows/Linux 快捷键。
| 操作 | macOS | Windows / Linux |
|---|---|---|
| 删除前一个单词 | option + backspace |
ctrl + backspace |
| 删除后一个单词 | option + delete |
ctrl + delete |
| 删除到行首 | cmd + backspace |
无 |
| 删除到行尾 | cmd + delete |
无 |
| 移动到前一个单词 | option + ← |
ctrl + ← |
| 移动到后一个单词 | option + → |
ctrl + → |
| 移动到行首 | cmd + ← |
home |
| 移动到行尾 | cmd + → |
end |
| 移动到文本开头 | cmd + ↑ |
ctrl + home |
| 移动到文本末尾 | cmd + ↓ |
ctrl + end |
| 选中前一个单词 | option + shift + ← |
ctrl + shift + ← |
| 选中后一个单词 | option + shift + → |
ctrl + shift + → |
| 选中到行首 | cmd + shift + ← |
shift + home |
| 选中到行尾 | cmd + shift + → |
shift + end |
| 选中到文本开头 | cmd + shift + ↑ |
ctrl + shift + home |
| 选中到文本末尾 | cmd + shift + ↓ |
ctrl + shift + end |
| 向上选中一行 | shift + ↑ |
shift + ↑ |
| 向下选中一行 | shift + ↓ |
shift + ↓ |
其他内置映射
CMD + Delete 现在还提供了以下其他内置映射:
builtin:emacs_windows_linux:在 Windows/Linux 上模拟 Emacs 的标准文本导航快捷键(已尽力还原,但并非完美)。builtin:emacs_mac:在 macOS 上模拟 Emacs 的标准 Cocoa 文本导航快捷键(已尽力还原,但并非完美)。builtin:readline:模拟 GNU Readline 的标准文本导航快捷键(已尽力还原,但并非完美)。
自定义映射
你可以通过配置文件定义自己的自定义映射,文件位置及名称格式为:<minecraft install>/config/cmd_delete/mappings/<id>.json。这让你可以根据自己的喜好和配置来定制《我的世界》中的文本导航快捷键行为。你还可以通过分享码轻松分享你的映射!
示例
sample.json 文件:
{
"fv": 4,
"inherits": "builtin:mac",
"meta": {
"name": "示例自定义映射",
"author": "Omegabird113",
"description": "此示例演示了继承、修补等功能!不过,这些按键绑定是虚构的,一般人大概率不会这么用……",
"version": "2.1.0",
"id": "sample",
"systems": [
"mac", "windows", "linux"
]
},
"actions": {
"NAV_TEXT_START": [
{
"key": "up",
"superCommand": true,
"altOption": false,
"shift": false,
"enabled": false
},
{
"key": "e",
"superCommand": true
},
{
"key": "home"
}
]
}
}
mac 分享码:
CDS:EV1:tMeXxZVB45VieA3HvggAeo3p5zjrCbj7crBL5PbmPwdWGpgx8nz6vXnqxX48Cgc5BHZX63EYegfSTth3sTL16tud1DU6KFQKQNLmEtrhaoojTDiqtcm88t2ePt3yKWY4NnfPEUBhPqMgmoFCZwkfgVMpmKr6L2QYWmtruBniZRgBG5hxpA95W2E3pn5dv9SnDhpQenXnr2cWvyENAGmNpTzpUyktLDQoEZGJZE8CKK84G8jXsTf81f1Kxojv88pF66AeMYEqMCYCki7jafgTDi4YspYGxLvqrd9eZPGUPy1JvV588pD6MFT13sYK2m5yiJk5qGwqMg17DSbXjEUzU3dLN322AqPDP4Xvm3n1nztxo2fuCeGPpmD7poJDbHCws7RNKtVcgnpas8EhxHDUBqZPwyDWjbUwqxNfmqSvKQwYQbU3jTt527Z89g1Li4QPBto4bNFc9Fr7jWYQVdu8k7PxahZEFjPes5YrufVoNtU1ZC8VuMreMQNeBUz9MH5qN3oDbdYu7L5Jupr6XBrpKMoVzGGS4ygdcBMfG7ZZF6ruzNjTGDjHvrNDGDuJXpXfnccn9ami1xM4SipedBHugVM56FyR26MsRcddBMwmnSr4LTrGT6hofbsGuapfVJZUNfgab6WvHDAgHMXFQD9reFnfuMQ3KNtzMFzPJXSyVLfbFYDjPxv94yB5:2419707130
技术特性
自定义映射支持:
- 使用通配符展开,即键位组合中未包含的修饰键会被视为
true或false均可。 - 使用 CMD + Delete 定义的友好按键名称字符串,而非 GLFW 键码。如果某个按键名称未定义,你仍然可以在 JSON 中使用原始的 GLFW 键码。
- 通过将顶层
inherits值设置为custom:<id>来继承自定义 JSON,或设置为builtin:<id>(或直接<id>)来继承内置 JSON,从而继承内置映射或其他自定义映射的键位绑定。 - 通过将键位绑定的
enabled属性设置为false来修补和覆盖其继承的映射。请注意,CMD + Delete 总是先移除你禁用的键位绑定,然后再添加你启用的键位绑定,从而轻松实现“先修补后重新实现”的模式。 - 设置某些布尔特性标志来控制模组的行为。
- 启用
strict模式(作为顶层 JSON 布尔值),如果映射存在键位冲突或未知操作等可恢复问题,该模式将阻止映射加载。
请注意:
- 格式版本
fv目前为4,你的映射应与之匹配(不过游戏内仍然支持格式版本为2和3的旧版映射)。 meta.id字段必须与不带.json扩展名的文件名完全一致。- 在某些地方,你会看到映射 id 为
""(空字符串),这指的是默认映射行为,即根据用户的操作系统加载builtin:windows_linux或builtin:mac。请注意,"inherits": ""表示映射 JSON 不继承任何内容,因此无法继承默认行为。
分享码语法
| 分段(按顺序) | 描述 |
|---|---|
CDS |
CMD + Delete 分享的前缀。 |
EV1 |
分享码编码格式的版本(目前为 1)。 |
| 载荷 | 映射 JSON 的 Base58 编码的 GZip 压缩载荷。 |
| 校验和 | 未压缩映射 JSON 的 CRC32 校验和。 |
/navmappings 命令
CMD + Delete 包含一个游戏内的客户端 /navmappings 命令,用于检查、切换、导入、导出和调试映射,而无需手动修改配置文件。
| 命令 | 描述 |
|---|---|
/navmappings info |
显示当前加载的映射信息。 |
/navmappings list |
显示当前可用映射的命名空间 ID 列表,你可以切换到这些映射。 |
/navmappings set default |
切换到默认映射行为。 |
/navmappings set builtin <不带命名空间的 id> |
切换特定操作系统的内置映射 JSON。 |
/navmappings set custom <不带命名空间的 id> |
切换到某个你自己的自定义映射 JSON。 |
/navmappings reload |
重新加载当前激活的映射。 |
/navmappings export <type> file <不带命名空间的 id> <绝对路径> |
将某个映射 JSON 复制到系统上的另一个位置,以便你复制它。 |
/navmappings export <type> sharecode <不带命名空间的 id> |
生成一组映射的分享码副本,并将其打印到聊天框及复制到剪贴板。 |
/navmappings import file <绝对路径> |
将你从系统其他位置制作的 JSON 副本导入到自定义 JSON 文件夹中,以便你将其用作自定义映射。 |
/navmappings import sharecode clipboard |
从你复制到剪贴板中的分享码导入一组映射的副本。 |
/navmappings import sharecode chat <sharecode> |
从你在命令中输入的分享码导入一组映射的副本。 |
/navmappings debug |
一个实用工具,提供信息转储,如 CMD + Delete 相关信息、CMD + Delete 映射 JSON 支持的友好按键名称转储,或内部加载的映射注册表的原始转储。 |
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。