从 Windows 迁到 Mac 的开发环境与键位配置
刚从 Windows 切到 Mac 时,最别扭的往往不是系统功能,而是手已经习惯了另一套键位。
复制、搜索、刷新、锁屏、终端中断、鼠标滚动、触摸板手势,这些动作每天会重复很多次。只要有一个按键不顺,就会一直打断工作节奏。
这篇不是「Mac 必装软件大全」,只是当时把 Mac 调顺手的一份记录。大方向是:外接 Windows 键盘尽量保留原来的手感,Mac 自己好用的地方也别硬拧回去。
截图来自当时的系统版本。不同 macOS 版本的设置入口可能会变,按同样思路找对应选项就行。
先把键位想清楚
Mac 的键盘逻辑和 Windows 不一样。Windows 上最常按的是 Ctrl;Mac 上大量快捷键都落在 Command 上。外接 Windows 键盘接到 Mac 后,Win 键通常对应 Command,Alt 对应 Option,Ctrl 仍然对应 Control。
最先处理两个地方:
- 自带键盘上,怎样把常用键放到更顺手的位置。
- 外接 Windows 键盘上,怎样让 Ctrl/Win/Alt 更接近原来的肌肉记忆。
macOS 自带「键盘 -> 修饰键」设置,但能力比较有限:

只调换几个修饰键时,它够用。想给内置键盘和外接键盘分别配置,就要上 Karabiner-Elements。
Karabiner-Elements:按键映射的主力
Karabiner-Elements 是 Mac 上很常用的键盘定制工具。主要用它做两类映射。
第一类是内置键盘。
会把左边的 fn 改成 Command,让左手更容易按到常用快捷键:

同时把右边的 Command 改成 Fn,这样需要用功能键时仍然有入口:

第二类是外接 Windows 键盘。
外接键盘上,会把左侧 Control 和 Command 调换,让 Windows 上 Ctrl 所在的位置,在 Mac 上承担更多 Command 快捷键:

这样做之后,复制、粘贴、搜索、切换 tab 这些高频动作会接近原来的手感。
代价也有:终端里中断进程本来是 Control + C,如果把外接键盘左下角改成了 Command,就要重新适应一下实际按键位置。
这类配置没有绝对正确。取舍是高频动作优先,低频动作让路。
MOS:把鼠标滚动和触摸板拆开
Mac 默认的「自然滚动」对触摸板很自然,但对传统鼠标不一定顺手。麻烦的是,系统设置里鼠标和触摸板的滚动方向很容易互相影响。对同时使用触摸板和鼠标的人来说,这会很别扭。

MOS 可以单独控制鼠标滚动方向,并提供平滑滚动。会把它调成这样:
- 触摸板保留 Mac 的自然滚动。
- 鼠标滚轮接近 Windows 手感。
- 鼠标滚动不要太生硬。
只用触摸板的话,可以不装 MOS。经常在触摸板和鼠标之间切换时,它能明显减少割裂感。
触摸板:保留好用的,关掉误触的
Mac 触摸板很好用,但默认设置不一定适合每个人。会先调整点按和查找相关设置:

这里主要看两件事:
- 要不要开启轻点来点按。
- 要不要保留用力点按查词。
更希望触摸板稳定触发点击,不希望误触查词,所以会把容易干扰工作的项关掉。
浏览器里双指左右滑动会触发前进/后退。这个手势本身很好理解,但写代码或查资料时误触一次很影响节奏,所以会关掉对应选项:

如果你很依赖这个手势,可以保留。这个配置没必要统一,关键是别让它反复打断你。
通知:先保证重要 App 能提醒
很多 App 初次安装后,通知权限不一定按你预期打开。
尤其是 Chrome、聊天工具、日历、邮箱这类应用,如果通知没开,很容易错过消息。

习惯是只打开需要及时看到的通知。其他 App 能关就关。
通知太少会漏消息,通知太多会切碎注意力。Mac 设置好之后,顺手整理一下这块很值。
菜单栏时间:显示日期和秒
Mac 默认菜单栏时间不够直观。希望不用点开也能看到日期,某些调试场景还希望看到秒。
可以用「万年历」这类菜单栏日历 App:

这个 App 可以在 Mac App Store 下载:

安装后,可以在设置里打开秒:

这样菜单栏可能会出现两个时间。系统自带时间不一定能完全隐藏,可以把它改成模拟时钟,尽量减少占位:

菜单栏最后会更紧凑:

这不是必需配置,但经常看日志、对时间戳、录屏复盘时挺方便。
F1 到 F12、F5 刷新和锁屏
外接键盘上,更习惯让 F1 到 F12 直接作为功能键,而不是先触发亮度、音量这类系统功能。
可以在「键盘」设置里打开这个选项:

Chrome 在 Mac 上默认用 Command + R 刷新。Windows 习惯里,F5 刷新更自然。
可以在「键盘 -> 键盘快捷键 -> App 快捷键」里给 Chrome 单独加一条:
- 应用程序:Google Chrome
- 菜单标题:重新加载此页
- 键盘快捷键:F5
菜单标题要和 Chrome 菜单里的文字完全一致,否则不会生效。

锁屏也可以用类似思路调整。
会把锁定屏幕设置成外接键盘上接近 Win + L 的位置。不一定要和 Windows 一模一样,但每天都会用的动作最好别重新想。
程序坞和常驻应用
程序坞中间有一道分隔线。
左侧是固定在程序坞里的应用,打开或关闭都会在;右侧是最近打开或正在运行的应用。
想让应用顺序稳定,就把常用 App 固定到左侧。右侧会按打开顺序变化,不适合拿来做固定入口。
这件事很小,但刚切 Mac 时容易困惑。高频 App 固定好之后,系统会清爽很多。
常用软件
这一段更像个人清单,不需要照抄。
开发和调试:
- JetBrains Toolbox:管理 JetBrains IDE。
- Visual Studio Code:轻量编辑和临时看项目。
- Sublime Text:快速打开大文本。
- Postman:接口调试。
- iTerm2:终端。
- Oh My Zsh:终端配置。
- Sequel Ace:MySQL 客户端。
日常效率:
- 微信:聊天。
- QQ:聊天。
- 搜狗输入法:中文输入。
- uTools:启动器和小工具。
- Snipaste:截图和贴图。
- CopyLess 2:剪贴板管理。
- 腾讯柠檬清理:清理工具。
- Stats:菜单栏系统状态。
- GIPHY Capture:录制 GIF。
这些工具不用一次装全。长期留下来的,通常都是每天能少打断你一次的东西。
Chrome 扩展
浏览器扩展也一样,少而稳定比装一堆更舒服。
- Dark Reader:网页暗色模式。
- JSON Viewer:格式化 JSON。
- Copy as Markdown:复制链接为 Markdown。
- Tampermonkey:用户脚本管理。
- Stylus:网页样式调整。
- Vue.js Devtools:Vue 调试。
- Octotree:GitHub 代码树。
- OneTab:临时整理标签页。
- Ajax Interceptor:接口调试。
很久没用的扩展,会直接删掉。浏览器扩展权限通常不小,没必要长期留着吃灰。
Tampermonkey 脚本
会保留少量脚本:
脚本类工具更要谨慎。能不用就不用;要用也尽量看清源码和权限范围。
字体
字体也可以顺手调一下。
- 霞鹭文楷:中文阅读和文档。
- Inconsolata / Ligconsolata:代码字体。
字体很主观。判断标准只有一个:长时间看代码和中文文档时,眼睛别累。
写在最后
从 Windows 切到 Mac,不一定要强迫自己完全接受默认习惯。更愿意把系统调成「高频动作顺手,低频差异能接受」。
键位、滚动、刷新、锁屏、通知、菜单栏时间,这些配置都不大,但每天都会出现。把这些地方调顺之后,Mac 才更像工作工具,而不是一个一直需要适应的新系统。