如何在Obsidian 1.1.16(Linux版本)中禁用Ctrl+Q快捷键
如何在Obsidian 1.1.16(Linux版本)中禁用Ctrl+Q快捷键
嘿,我完全懂你不小心按到Ctrl+Q就退出Obsidian的郁闷——毕竟我自己也把Obsidian的快捷键改得面目全非,遇到这种“隐形”快捷键真的很头疼!
你说得没错,这个Ctrl+Q是Electron框架给Linux平台应用默认加上的退出快捷键,确实不会出现在Obsidian自身的快捷键设置界面里,不过咱们有两种靠谱的方法来解决这个问题:
方法一:用Obsidian自定义JS脚本拦截快捷键
如果你愿意装个轻量插件的话,这个方法最直接:
- 先在Obsidian社区插件里安装
Custom JS插件,启用它 - 打开你的Vault文件夹,找到
.obsidian/custom-js/目录(如果没有就新建一个),创建一个名为block-ctrlq.js的文件 - 把下面的代码复制进去:
document.addEventListener('keydown', (e) => { if (e.ctrlKey && e.key === 'q') { e.preventDefault(); e.stopPropagation(); // 可选:这里可以加个提示,比如console.log('Ctrl+Q被拦截啦') } }); - 回到Obsidian的
Custom JS设置界面,把这个脚本添加到启用列表里,重启Obsidian就生效了。以后再按Ctrl+Q就不会触发退出了。
方法二:系统层面覆盖快捷键(无需装插件)
如果不想动Obsidian的插件,直接在Linux桌面环境里设置全局快捷键来“抢占”Ctrl+Q:
- GNOME桌面:打开系统设置→键盘快捷键,拉到最底部点击“添加自定义快捷键”,名称随便填(比如“拦截Obsidian Ctrl+Q”),命令填
true(这是个空操作命令),然后把快捷键设为Ctrl+Q,保存即可。系统会优先响应这个全局快捷键,Obsidian就收不到这个按键信号了。 - KDE桌面:打开系统设置→快捷键→自定义快捷键,新建一个全局快捷键,触发方式选“键盘快捷键”并设置为
Ctrl+Q,动作选“无”或者执行true命令,保存后就生效了。
简单解释下为什么这个快捷键找不到:Obsidian基于Electron开发,而Electron给Linux应用默认内置了Ctrl+Q退出的快捷键,Obsidian没有把这个框架级的快捷键暴露到自己的设置里,所以咱们得用上面的方法来拦截它。
备注:内容来源于stack exchange,提问作者balu




