Navicat 16 不支持跨平台全局快捷键映射,因其快捷键系统依赖操作系统底层事件抽象(Windows Win32 消息 / macOS NSEvent),无键位翻译层,故 Ctrl+R 与 Cmd+R 是两套独立配置,须分别设置;Cmd+Q、Alt+Tab 等系统级组合不可重绑,Ctrl+/ 在 macOS 版本中未实现,修改快捷键后需点击“确定”而非“应用”才生效。
Navicat 16 不支持跨平台的全局快捷键映射——这不是功能缺失,而是设计限制。它的快捷键系统完全运行在应用层,不介入操作系统级热键注册,所以 Ctrl+Shift+S(Windows/Linux)和 Cmd+Shift+S(macOS)本质是两套独立配置,无法用同一组键位在不同系统上“自动适配”。navicat 的快捷键绑定逻辑依赖于 os 的输入事件抽象层:windows 使用 win32 键盘消息,macos 使用 nsevent,二者底层机制不同。软件没有做跨平台键位翻译层(比如把 cmd 自动映射为 ctrl),所以你改了 windows 的 ctrl+t,对 macos 用户毫无影响。
Ctrl 开头的快捷键(如 Ctrl+R)都得手动改成 Cmd+R,否则根本不会响应Cmd+Option+X 这类 macOS 系统保留组合(比如 Cmd+Option+Esc 是强制退出),Navicat 会静默忽略Ctrl+R,macOS 用 Cmd+R」能改的:绝大多数非系统级操作,比如 新建查询、数据传输、导出向导 对应的命令
改不了的:与 OS 深度耦合的,例如 Cmd+Q(macOS 全局退出)、Alt+Tab(Windows 窗口切换),Navicat 根本不接管这些事件
特别注意:Ctrl+/ 在 macOS 版 Navicat 中长期失效(不是配置问题,是软件未实现该快捷键绑定),别白费时间尝试修复
打开 工具 → 选项 → 快捷键 后,别直接输组合键——先确认焦点在“快捷键”字段里,再按新键;否则可能触发其他 UI 行为(比如按 Enter 会跳到下一行而非保存)
修改后必须点 确定,仅点 应用 不会生效(这是 Navicat 16 的一个反直觉行为)
如果设置了 Cmd+Shift+T 却没反应,检查是否和终端或浏览器的标签页恢复快捷键冲突——Navicat 不会报错,只会静默失败