所有文章 → 文章详情

MMGA

Make macOS Great Again!

我发现 macOS 真的有一些非常逆天的设定,需要用户自己想办法去解决。很多奇葩问题藏的还非常深,要用一段时间才发现是系统造成的。所以这篇文章就是吐槽 + 记录那些我觉得 macOS 非常奇葩的设计,并把它纠正回来!

我也希望我能尽可能少的更新这篇文章,因为我每更新一次就意味着我又被苹果的某个奇葩设计气到了一次。

另外,这篇文章就是纯主观分享,不喜勿喷。macOS 是非常灵活的操作系统,每个人都能发现最适合自己的方案,我会持续更新我的这些方案,并写明最新测试后在哪些系统下有效。

难用的大写锁定

我为什么讨厌

首先,最无法忍耐的,是苹果自作聪明,给大写锁定键设置了 100ms 的防误触阈值。也就是说你必须要刻意的按压下去一段时间这个按键才能被触发。正常打字时用手指轻按一下绝对达不到 100ms 的阈值,这对打字速度快且频繁使用大写锁定的用户极不友好,且 macOS 中没有直接关闭这个防误触延迟的方法。

其次,截止最新的 macOS(Tahoe)中有三种不同的方式切换输入法。大写锁定键(中/英键),fn键(在新设备中叫地球键),以及control+空格。

我不知道库克是否患有“无法切换输入法恐惧症”,但我实在是不能理解为什么同时有这么多种方法默认被启用。control+空格对我而言就是最好的切换方法,因为它不会和任何其他正常的修饰键冲突。

还原大写锁定键

✅ macOS 26

我们先要把大写锁定还回来,系统设置 → 键盘 → 输入法 → 编辑 → 关闭「使用大写锁定键切换“ABC”输入法」

还原 fn 键

✅ macOS 26

我习惯将 fn 设置为双击启用听写,因为在地球键出现之前,这是 macOS 的默认设置。系统设置 → 键盘 → 输入法 → 按下地球键时 → 选择「开始听写(连按两下地球键)」

解决大写锁定延迟

✅ macOS 26

目前有两种方法,使用第三方工具 Karabiner-Elements 或是通过一串命令来解决,我选择前者。

安装 Karabiner-Elements

brew install --cask karabiner-elements

使用 Karabiner-Elements 导入这个 Complex Modification,或者直接使用以下 json 导入:

{
    "description": "Disable the accidental keystroke prevention of Caps Lock",
    "manipulators": [
        {
            "from": {
                "key_code": "caps_lock",
                "modifiers": { "optional": ["any"] }
            },
            "to": [
                {
                    "hold_down_milliseconds": 100,
                    "key_code": "caps_lock"
                },
                { "key_code": "vk_none" }
            ],
            "type": "basic"
        }
    ]
}

糟糕的窗口管理

我为什么讨厌

苹果落后了微软十几年,终于把这个自动贴靠功能搞出来了,但是体验依然差劲。任何正常人都无法理解苹果为什么默认要在平铺的窗口边缘留有空隙,是嫌用户屏幕空间太多了么?

一般的解决方案

✅ macOS 26

转到系统设置 → 桌面与程序坞 → 关闭「平铺窗口边缘空白」

当然,我建议你直接抛弃 macOS 自带的窗口管理,转向第三方程序。

完美的解决方案

✅ macOS 26

用免费开源的 Rectangle。这个窗口管理工具在体验上不仅爆杀 macOS 系统自带的,也爆杀 App Store 里卖的很好的那款叫「Magnet」的窗口管理程序。

通过 brew 安装:

brew install --cask rectangle

混乱的全屏逻辑

我为什么讨厌

macOS 上有三种不同的全屏方式:

  • 原生全屏——也就是把应用放入一个单独的Space;用调度中心可以切出
  • 伪全屏——类似于 Windows 中的无边框窗口;用 command + tab 可以切出,用调度中心可能可以切出(取决于软件)
  • 独占全屏——类似于 Windows 游戏中的独占全屏模式,切进切出会黑屏,且全屏软件可以改变屏幕分辨率/刷新率;用 command + tab 可以切出,在独占全屏中调度中心将会失效,无法唤出

是的,我用多了当然能分出来,但是这是一种高度不统一的行为。尤其是在 macOS 中,几乎所有程序都有全屏模式,使用全屏的机会要比 Windows 中多得多。如此混乱的全屏逻辑会让很多一般用户摸不着头脑。

解决方案?

这是一个历史遗留问题,没有解决方案。我只是要吐槽这点。另外,如果你是开发者,请尽量使用原生全屏模式。



未完待续……