
Jupyter Notebook(尤其是 JupyterLab)在 macOS 上可能因默认快捷键冲突导致无法输入 [ 和 ],这是已知的键盘快捷键覆盖问题,可通过禁用相关内联补全快捷键修复。
jupyter notebook(尤其是 jupyterlab)在 macos 上可能因默认快捷键冲突导致无法输入 `[` 和 `]`,这是已知的键盘快捷键覆盖问题,可通过禁用相关内联补全快捷键修复。
该问题常见于 macOS 系统中,根源在于 JupyterLab 默认将 Alt [、Alt ]、Alt 绑定为内联补全(inline completer)的导航与触发快捷键,而 macOS 的某些键盘布局(如美式英文或中文输入法下)会将 Alt + [ 直接映射为左方括号输入——此时快捷键优先级高于文本输入,导致按键被拦截,光标无响应或仅换行。
✅ 解决步骤(适用于 JupyterLab v4.x+):
- 启动 JupyterLab,点击顶部菜单栏 Settings → Settings Editor;
- 左侧选择 JSON Settings Editor,再切换到 Keyboard Shortcuts → User;
- 在右侧编辑区粘贴以下 JSON 配置(作用是显式禁用冲突的快捷键):
{
"shortcuts": [
{
"args": {},
"command": "inline-completer:next",
"keys": ["Alt ]"],
"selector": ".jp-mod-completer-enabled",
"disabled": true
},
{
"args": {},
"command": "inline-completer:previous",
"keys": ["Alt ["],
"selector": ".jp-mod-completer-enabled",
"disabled": true
},
{
"args": {},
"command": "inline-completer:invoke",
"keys": ["Alt \"],
"selector": ".jp-mod-completer-enabled",
"disabled": true
}
]
}
- 点击右上角 Save 保存配置;
- 务必完全关闭并重启 JupyterLab 进程(仅刷新页面无效),推荐在终端执行 jupyter lab --no-browser 后手动终止再重启。
⚠️ 注意事项:
- 此方案不影响其他补全功能(如 Tab 补全、Shift+Tab 查文档),仅解除 Alt 键组合对 [/]/ 的劫持;
- 若使用 Jupyter Notebook(非 Lab),请升级至 JupyterLab(Notebook 已逐步归入 Lab 架构),或检查是否误装了旧版 jupyter_contrib_nbextensions 并禁用其中的“Hinterland”等补全扩展;
- 部分用户反馈切换系统键盘输入法为「美国英语」后临时缓解,但非根本解法,仍建议按上述配置修复。
修复后,即可在任意代码单元格中正常输入 list = [、[1, 2, 3] 等含方括号的表达式,无需换行规避。该配置兼容主流 macOS 版本(Ventura 及更新系统),且已在 GitHub Issue #15744 中被官方确认为标准应对方案。











