AI时代,Windows开发者转Mac的快速上手指南
# 写在文章开头
这几年随着AI的飞速发展,类unix系统mac 成为大部分开发主流工作机,考虑到这一部分迁移的成本,笔者将早期一篇个人从win切换到mac的配置核和程序清单加以整理并分享出来,希望对一些近期使用比较纠结的读者有所帮助。
SharkChili · 禅与计算机程序设计的艺术
开源贡献
- mini-redis:教学级 Redis 精简实现 · https://github.com/shark-ctrl/mini-redis
关注公众号,回复 【加群】 加入技术社群
# 个人mac键盘与系统配置
# F1~F12功能键标准化配置
默认情况下,MacBook的F1~F12对应的是灯光、音量等调节操作。但作为软件开发者,我们更依赖这些键位的原生语义,所以需要把它们改回标准功能键,确保键位能做到:
F12能直接呼出Chrome控制台
F5刷新页面
触发idea等工具中依赖功能键的快捷操作
至于调节音量、亮度这类特殊功能,再配合fn键即可。
因此在正式演示macOS快捷操作之前,我们需要先针对F1~F12进行配置调整。对此我们需要打开系统设置->键盘,然后选择"功能键"选项进行键盘基本配置:

我们找到功能键选项,勾选下图所示的开关,此时F1~F12就变成了标准功能键,而特殊功能则需要配合fn键才能使用:

# mac内置键盘调整
与win系统不同的是,mac的输入法切换快捷键是ctrl+空格。而在内置键盘的键位布局上,control键被排在了地球仪(fn)键的右侧,并不在小指自然下落的最角落位置,切换输入法时不太容易精准按到。所以笔者拿到新mac后,都会把control和地球仪(fn)键互换,让小指能第一时间够到control键,从而延续Linux和Windows下终端里早已习惯的ctrl操作(如ctrl+c、ctrl+a/e)。对应的设置步骤为:
- 打开
系统设置 → 键盘 - 点击
键盘快捷键,进入修饰键 - 在
选择键盘处选中内置键盘,将Control(^)键和地球仪(🌐)键的功能互换

默认情况下,市面上大部分外接键盘都按win系统的键位摆放,接入mac后想保持键位一致,就得对修饰键做一次调整。要做到知其所以然,得先看物理布局:win键盘上紧挨空格的是alt键,它所在的位置正是mac上⌘(Command)所在的位置;再往外的win键,则落在mac的⌥(Option)位置上。所以目标很明确——让alt键发挥⌘的作用、让win键发挥⌥的作用,这样外接键盘敲起来才和mac原生布局一致。
但这里有个容易踩的坑:把win键盘插上mac后,系统默认不是按位置、而是按键名来识别的。经笔者实测,默认状态下alt键被识别成⌥(Option),win键被识别成⌘(Command),恰好和我们想要的相反。
所以在mac的修饰键设置里,要做的就是把这两个键的功能对调过来:
- 把
win键(默认被识别为⌘)改设为⌥(Option) - 把
alt键(默认被识别为⌥)改设为⌘(Command)

理解了这层映射关系,下面动手就很清晰了。打开键盘快捷键配置,在修饰键里通过usb keyboard选项选中这块外接键盘,按照上文的映射关系把对应键位逐个调整过来即可。调整后,外接键盘就和macOS原生键位兼容了:

除了在系统原生的修饰键里调整,笔者更推荐用Karabiner-Elements来统一管理所有键位映射。它本来是笔者用来配置F19(下一节会讲)的工具,为了管理上的统一,现在笔者干脆把所有键盘的映射关系都交给它来设置。对应的安装指令如下:
brew install --cask karabiner-elements
安装完成后首次启动,需要在系统设置中授予辅助功能权限。这里补充一点:Karabiner-Elements启用后会覆盖系统原生的快捷键映射,所以一旦决定用它,就把所有键位映射都委托给它,别和系统设置混用。
配置本身很简单——打开Simple Modifications,在左侧选中要调整的目标键盘(内置键盘或外接的usb keyboard),再逐条调整映射语义即可。以内置键盘为例,笔者把fn和control对调(方便用control+空格切输入法):

同理,外接键盘也在这里把⌥和⌘对调,逻辑和上文修饰键的调整完全一致,只是统一收口到了Karabiner里。

# F19虚拟功能键配置
F19是一个标准键码,但现代Mac物理键盘上并没有这个键,正因为它不容易被其他程序占用,很适合拿来做自定义全局快捷键的触发键。笔者的做法是借助Karabiner-Elements把右⌘键映射为F19,正因为如此,笔者就可以用F19配合应用首字母构建出一套组合快捷键,例如F19+i呼出idea、F19+V呼出微信。
对应的配置步骤为:
- 打开
Karabiner-Elements,选择Complex Modifications - 添加一条自定义规则,把右⌘键映射为F19(即下方配置中
to_if_alone指定的f19,单独按下右⌘时触发) - 对应完整配置如下:
注意:在Karabiner-Elements的Complex Modifications中启用规则后,可能需要点击"Reload"按钮使配置生效。如果配置后右⌘键没有响应,可以检查Karabiner-Elements的状态图标是否为绿色。
完整的JSON配置如下:
{
"manipulators": [
{
"description": "Change right_⌘ to ⌘+control+⌥+shift.",
"from": {
"key_code": "right_⌘",
"modifiers": { "optional": ["any"] }
},
"to": [
{
"key_code": "left_shift",
"modifiers": ["left_⌘", "left_control", "left_⌥"]
}
],
"to_if_alone": [{ "key_code": "f19" }],
"type": "basic"
}
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
对应F19配置可参考:https://bbs.huaweicloud.com/blogs/421390 (opens new window)
# 输入法配置
说实话,mac自带的输入法一直是笔者深恶痛绝的一点——相比Windows,无论是联想还是中英文切换体验都差了一大截。结合网上各种方案,笔者最终还是换上了搜狗输入法,它无论在配置还是日常使用上都和Windows相对接近,上手几乎没有割裂感。
笔者这里推荐读者安装如下两个插件:
- 搜狗输入法切换助手
- 搜狗输入法
其中搜狗输入法负责日常输入,而切换助手解决了一个对开发者很实用的痛点:它能让指定应用打开时自动切到英文。笔者把idea等编码工具设为默认英文,这样打开IDE就能直接敲代码,省掉每次手动切输入法、还要回头校对符号是不是中文的麻烦。
下图对比了配置前后。普通搜狗在中文状态下,在idea里敲分号会变成全角的;、代码直接报错。而给idea开了切换助手的"强制英文符号"之后,哪怕输入法还停在中文状态,敲出来的分号也照样是英文半角的;:

唯一的小缺点是反过来——因为idea里的符号被强制成了英文,真要在注释里打个中文标点(比如中文冒号)时反而打不出来,得临时把强制关掉。不过现在大多是AI编程,这点基本可以忽略,笔者自己仍保留审核AI代码、适度手改的习惯,所以还是特意拎出来说明一下。具体配置很简单:
- 切换助手把搜狗设为默认输入法
- 自动切换列表里把常用编码工具(如IntelliJ IDEA)的默认状态设为英文
对应配置如下图所示:

# 菜单栏管理增强(iBar)
与windows系统不同,mac菜单栏位于系统正上方,碍于系统局限性,笔者发现mac book在多开程序的情况下,在笔记本屏幕上菜单栏应用程序会显示不全,查阅网上的解决方案,最终还是选择了下载安装一个菜单栏管理工具iBar,它不仅可以将所有菜单栏的程序统一收纳,还支持将一些非必要显示的程序隐藏:

完成下载后,我们首先进行通用设置选项完成如下设定:
- 设置开机自启:笔者会定期重启笔记本,开启自启动能保证每次重启后iBar都自动运行,所以下载必备软件后都会顺手打开这一项
- 显示菜单栏方式:设置为点击菜单栏空白处展开所有选项
- iBar菜单图标:按照个人喜好选择

完成设置后,菜单栏工具都会被压缩整理,只有点击菜单栏才会展开:

当然,对于不需要在菜单栏显示的图标,我们也可以在菜单栏布局选项中进行设定:

# 应用程序窗口管理与alt-tab插件
与windows直接点击x不同,mac对于进程的关闭有着不同的理解,对于mac系统而言,关闭有着3种姿态:
- 关闭窗口标签页
- 最小化窗口
- 关闭进程
我们先来说说关闭窗口标签页这个操作,对应safari或者访达的多标签页来说,点击⌘+w就会将当前的标签页关闭。对于这个键位mac也做了语义化的处理,⌘+w中的w即window,相当于用命令操作窗口,所以这个操作执行后如果需要恢复窗口,就得重新打开。
而对应最小化窗口则是将当前程序直接挂到dock程序坞下,即键入⌘+m可以理解为通过命令将程序最小化minimize,所以对于最小化的程序直接通过dock打开即可直接继续使用了。
最后一种也就是我们的关闭程序了,直接执行⌘+q即通过命令退出quit进程,这也就是我们常说的退出进程了。
对于进程的切换,和windows一样不同的进程mac也是通过⌘+tab切换,对于相同的进程,例如笔者打开两个idea希望在两个idea中切换,mac上支持通过⌘+反引号(Tab键上方那个键)在同一个App的多个窗口间来回切换。

需要补充说明的是,与Windows系统有所不同,mac os的⌘+tab切换存在如下局限性:
- 对于最小化的进程,即使
⌘+tab可以看到,也无法将其打开 ⌘+tab只能切到应用层级,无法展示同一个应用下的具体窗口,如下图:

⌘+tab无法切换多开应用,例如我们打开两个idea,⌘+tab就无法做到在两个idea之间切换
笔者初次从Windows转过来时,最不习惯的就是⌘+tab不够直观——尤其是被最小化的程序,⌘+tab根本没法直接呼出。查了网上的方案后,笔者找到了开源工具alt-tab,它把Windows上高效的Alt+Tab体验完整搬到了macOS:不仅支持程序间切换,还保证最小化的窗口也能直接选中打开;最亮眼的是它会显示每个窗口的缩略图,让笔者一眼就能看清窗口当前是最大化、最小化还是后台挂起的状态。

对应的homebrew安装指令如下:
brew install --cask alt-tab
完成后,打开工具选择控制,将快捷键1改为⌘+tab替代mac os原生窗口管理:

最后就是外观设定,因为笔者日常使用大屏进行开发工作,所以窗口显示样式改为缩略图,这样可以窗口切换时可以明确感知当前进程处于最小化窗口还是后台挂起状态,同时因为开发工作涉及多屏操作,所以切换操作视图笔者也是按照个人习惯采用鼠标所在屏幕,读者也可以按需选择活跃屏幕或者菜单栏所在屏幕:

# 终端快捷操作
关于终端的操作,由于现在大部分读者都是在终端里使用Claude Code,本着多窗口管理、以及快捷键和Windows保持适配一致的体验,可以参考笔者这篇专门的配置文章:https://mp.weixin.qq.com/s/QmzZQ_PTWc9o3Bqs5rAb8w (opens new window)
# 文件管理:用QSpace替代Finder
mac原生的访达(Finder)笔者其实用得很少——它不支持多窗格并排管理,剪切粘贴的逻辑也和Windows不一样(得用⌘+c复制、再⌘+⌥+v才能把文件"剪切"移动过去),用起来挺别扭。所以这里笔者不展开讲Finder的那些视图快捷键,直接推荐一个更顺手的文件管理工具——QSpace来替代它。
它有几个对Windows用户特别友好的点:
- 多窗格管理:一个窗口里能并排开4个目录,文件移动、对比一目了然,不用来回切窗口。
- 保留Windows的剪切粘贴习惯:可以直接沿用
⌘+c/⌘+v复制粘贴、⌘+x/⌘+v剪切粘贴这套和Windows一致的操作,不必再记mac那套特殊键位。 - 空格键快速预览:选中文件按一下空格键就能即时预览内容,翻文件特别快。
完成安装后界面大致如下,四个窗格同时管理日常文件:

QSpace在Mac App Store搜索即可安装(分免费版与QSpace Pro,推荐直接上Pro)。装好后笔者再给出几个提升生产力的配置:首先点击左下角设置,在"使用习惯"里把delete键改成删除操作:

还是选择使用习惯,将双击空白处回到上层文件夹选项也勾选:

选择使用习惯,将隐藏DS_Store选项关闭,确保我们可以精准管控所有文件夹所有文件:

新建文件添加md格式,确保qspace可以通过右键创建md文件:

最后一步,把QSpace设为默认的文件管理器:进入设置的打开模式,把"在访达中显示"使用项改成QSpace Pro。这样在任意第三方应用里点"在访达中显示",都会用QSpace打开而不是原生访达,自此大功告成:

显示隐藏文件:在文件夹中键入 Command + Shift + .

# 系统锁屏快捷键
和Windows的Win+L有所区别,mac原生的锁屏键位是Control + Command + Q。不过这个键位笔者用着不太顺手,所以更推荐用uTool来锁屏——它本就是笔者常驻的效率工具,锁屏只是顺手为之:⌘+space呼出uTool,输入lock,回车即可瞬间锁屏,整个过程一气呵成。

# 第三方应用启动器配置
Thor是笔者最爱的一款Mac应用启动/切换工具。它的玩法是给每个应用绑定一个快捷键,按下就能瞬间打开或切换过去。配合上文配置好的F19键,笔者日常80%的软件切换都靠它一键完成,是笔者最常用的软件,没有之一。
安装很简单,直接在App Store搜索Thor安装即可。装好后打开,给常用应用逐个绑定快捷键。笔者的习惯是统一用F19打头、配合应用首字母,既好记又不和系统快捷键冲突,例如:
F19+N→ 呼出Notepad--(文本编辑)F19+I→ 呼出IntelliJ IDEAF19+C→ 呼出iTerm2(command terminal,终端)F19+V→ 呼出微信
配置好之后界面大致如下,每个应用各自绑定一个F19组合键:

# 小结
我们来小结一下本文的内容,围绕"让Windows用户平滑过渡到mac"这条主线,大致分为五层:
键盘初始化调整:F1~F12改回标准功能键、内置键盘把control与地球仪互换、外接键盘把alt/win映射对调、用F19衍生出一套全局组合快捷键。
推荐软件安装:Karabiner-Elements(统一管理键位映射)、iBar(菜单栏收纳)、alt-tab(窗口切换)、QSpace(多窗格文件管理)、搜狗输入法、uTool、Thor。
软件切换与启动:基于F19+应用首字母,用Thor一键呼出常用应用;alt-tab复刻Windows的Alt+Tab窗口切换体验。
输入法与文件管理:搜狗输入法配合切换助手让编码免切输入法;QSpace接管文件管理,保留Windows的复制粘贴、剪切习惯。
系统效率细节:uTool锁屏、终端配置(详见笔者的iTerm2专文)等。
本文是一份面向刚入手mac的开发者的系统配置指南。笔者这套配置本质上是mac与Windows之间的折中方案,目的就是让你在保留Windows肌肉记忆的同时,平滑过渡到macOS。建议在系统重装或刚入手时照着本文逐步完成软件下载与配置,快速搭好顺手的开发环境。笔者也会在日常使用中持续迭代这篇文章,希望对你有帮助。
SharkChili · 禅与计算机程序设计的艺术
开源贡献
- mini-redis:教学级 Redis 精简实现 · https://github.com/shark-ctrl/mini-redis
关注公众号,回复 【加群】 加入技术社群
# 参考
mac锁屏:https://jingyan.baidu.com/article/91f5db1b51fb625d7f05e3ba.html (opens new window)
mac复制文件路径:https://www.sysgeek.cn/macos-copy-file-path/ (opens new window)
求问 Mac 原生输入法在切换时光标旁边的小图标不见,怎么能在不重启的情况下修复:https://www.v2ex.com/t/1124217 (opens new window)
Mac 终端光标在单词之间移动的快键:https://blog.csdn.net/jane1229/article/details/82944435 (opens new window)
Mac外接USB键盘修饰键设置 Option 和 Command 替换:https://blog.csdn.net/liuwei0376/article/details/124155195 (opens new window)
F19键:https://bbs.huaweicloud.com/blogs/421390 (opens new window)
Mac电脑高效办公必备武器——雷神Thor:https://zhuanlan.zhihu.com/p/146885772 (opens new window)
终于找到macOS窗口管理的完美解决方案! :https://www.bilibili.com/video/BV1jH4y1w7Yr/?spm_id_from=333.337.search-card.all.click&vd_source=bf04f9a485aa892c0242fbfdfca25589 (opens new window)
让 Mac 像 Windows 一样使用 Alt + Tab 切换窗口--AltTab :https://zhuanlan.zhihu.com/p/684720445 (opens new window)