笔者通常不建议直接从旧设备迁移资料。迁移过程不仅可能会引入一些预料之外的 bug,还会连许多垃圾和临时文件一并复制过来。
大量 4K 随机读写也对 Wi-Fi 连接速率非常不友好,尤其是 Apple 设备一向不领先的无线性能。
这个原则其实不仅适用于 Mac,对于 Windows / Android /iOS 设备,也是同理。
不过要是新 Mac 够大,旧款也是 Mac,可以试试雷电网桥直连,本文完结。(逃
冷启动#
首先是必备软件,不然下面免谈:
系统设置#
然后为了后续体验良好,我们还需要改一下系统设置。命令行应该都能改,但有些比较新的设置我查不到,所以我们还是手动吧。
-
电池
- Mac 续航这么好当然要带出门,所以可以打开离电自动省电、电源自动高性能。(更高能耗疑似 Max 系列独占)
- 如果你不打算用第三方 app 限制充电上限,那最好打开系统自带的优化电池充电,点电池健康右边的 icon,在弹窗中打开。 部分第三方充电限制工具会明确要求关闭优化电池充电;但是我不关好像也没影响
- 如果想要让 Mac 连插座的时候兼职服务器,那可以把所有的都打开
,除了 HDR 省电,不然屏幕白买了。
-
通用
一大坨东西全挤在这里了。
- 关于本机:先改个名吧。最好能让自己认出来设备,这里的名字影响主机名、设备发现和 Apple ID 的设备管理。我现在是都会改的。序列号如果是二手机,可以去微信有些公众号花 3 块钱出个详细报告,看看有没有猫腻。
- 储存空间:icloud 同步是大坑。默认打开桌面和文稿同步,但是免费用户只有 5G,建议关掉。程序员尤其前端项目如果放桌面,那 node modules 的 4k 性能一定会教同步盘做人的……
看看 macOS + 系统数据 + 开发者 占用有多少,你就知道 win 那边系统体积控制已经很好了。 - 隔空投送 / 接力:一般都要开。酌情开所有人,现在 iOS 所有人限制 10 分钟自动关闭了,mac 还没跟进。Airplay 支持你把 iPhone /iPad 投到 Mac 上。
- 登录项与扩展:新机应该没什么东西,可以装完再来看看。
- 共享:如果你想让这台电脑全职 / 兼职服务器,那多半都要开。具体用法就不展开了,以后有机会可以详细说说。
- 启动磁盘:其实你可以把系统装到外置硬盘里……
- 时间机器:喜欢的人很喜欢。
- 自动填充和密码:神。但是不如 iOS。桌面端浏览器插件更重要一些,第三方 App 也可以直接接管,目前似乎没看到哪个第三方密码管理器用这个 API 的。
-
辅助功能
很多人说,Apple 老把一些特别有用的东西藏这里面。确实,有几个基本上一定会打开的尤其是鼠标指针相关设置。
- 指针控制:鼠标与触控板 - 触控板选项,使用触控板拖移 + 三指拖移,基本上必开。不然必须很大力气按下触控板才能拖动。github 上还专门有个项目把这个手势移植到 win/linux.
- 显示:这里可以改指针大小,比如我 4K 屏有的时候就会觉得指针太小了,可以放大一点。还有个手势,找不到鼠标之后可以快速晃一晃,macOS 会帮你把指针放大。
- 音频:一些与 AirPods 有关的辅助功能放这里面了。但是我耳机坏了,现在不给我看
,难过。
-
聚焦(spotlight)
现在感觉没那么好用了,毕竟这么多年也没加什么新功能。
不知道 WWDC 会不会接入 AI。看上去现在使用 RayCast 的用户会比较多,但我都不怎么用() -
控制中心
起名起的不好,应该叫控制中心与菜单栏。肯定有人因为这个名字找不到菜单栏设置。这里可以设置图标是否显示在菜单栏或者控制中心,以及微调一些按钮的显示样式。
我一直想有一个功能,内置屏幕上所有时候显示菜单栏(因为全屏有刘海,是否显示都不影响纵向高度,不现实的话只是黑掉),然后检测到外接之后自动切换到全屏的时候隐藏。但是之前跟某个开发者留言,客服看不懂,回复像是个人机。想开个坑自己写了都,但感觉有点难。
-
屏幕保护程序
卒。应该没人用了。
-
墙纸
macOS 每个大版本都换一批新的。现在的这个版本是 Apple 自己的团队全世界租直升机到处拍,公费旅游了属于是。
-
外观
这个初始化的时候改过主题色了。只有点按滚动条行为跟直觉不太一样,可以改一下。
-
显示器
随航和通用控制在这里开。如果默认缩放不够细,可以点高级,然后把以列表显示分辨率打开。有条件的话,推荐使用 Better Display,效果非常好。
-
桌面和程序坞
- 程序坞(Dock 栏)图标大小:一般直接拉满就行了。默认不放大就不会有动画。
- 最小化窗口时使用 - 神奇效果:默认也没开。招牌动画很多年了。
但是 macOS 窗口管理太烂了,很少用最小化( - 最小化至应用图标:默认没开,个人习惯打开。
- 自动隐藏程序坞:默认没开,个人习惯打开。
- 台前调度:不建议用。iPad 是只能用这个,Mac 没必要。可以放到控制中心,真需要再切就好了。
- 小组件:是个好东西。但是解锁完全体需要一台 iPhone。
- 窗口平铺:落后 Windows 15 年。平铺窗口边缘空白记得关上。
- 触发角:好东西。一定程度上解决了鼠标没有触控板手势,快捷键又难记的问题。迁移 win 习惯,我一般设置为左下角启动台、右下角显示桌面、左上角调度视图、右上角当前 App。总之按个人习惯来。
-
Siri / AI
mac 上不怎么好用。
好像其他设备也不好用啊 -
声音
不想启动的时候被咚一下可以把开机声音关了。
-
锁定屏幕
屏保默认关的。还可以改一下显示器关闭时间。
-
隐私和安全性
相信我,这里绝对是你来最多的地方。所有 App 的权限都在这里管理,而且所有未签名的 App 也都要在这里打开。应用来源中,有办法恢复 “任意来源” 选项,这里不展开了。配件的话,如果电脑不带出去,可以设置成默认允许。
-
键鼠触控板
没什么东西就合一起说了。键盘设置可以改键盘灯、快捷键、Fn 单击功能。外接键盘如果有 Fn 键位定义,与内置的 Fn 是一样的。输入法设置也是这里改。
鼠标设置里滚轮方向一般不改,改了的话触控板就反了,所以一般用第三方软件。打游戏的话,可以去高级选项里把鼠标加速度关了。
触控板是最重要的。macOS 其实不挑触控板,只是 win 没人想用外置的,所以做的人少。有现代精确式触控板是可以用的,多点触控和手势都一切正常,华强北平替大概 200 左右吧。只是少了没什么用的 3D Touch。
设置里,一般要打开轻点来点按,不然得按到累死。然后更多手势中,如果前面打开了三指拖移,那调度中心的手势就会变成四指。
完结撒花!总算配置完了。
包管理器#
为什么要装包管理器?#
不如说,使用包管理器安装才更符合 *nix 和开发者的使用习惯。达成同样的操作,CLI 天然就远比 GUI 更高效、更容易自动化。而 macOS 上,brew 包管理器是默认的事实标准,大部分 repo 只要提供软件包,基本上都首选 brew,远超 MacPorts 和其他。
还有相当一部分人觉得 brew 实在是太好用了,把它移植到了一些 Linux 系统上,此处不展开。
常用 App#
好的,很快啊,我们装好之后直接 brew 一把梭:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
接下来我尽量把一眼看不出来的包注释一下。如果用不到,可以直接复制到行编辑软件中删除对应行即可。
Cask:
- 1password: 最贵 (好?) 的密码管理器。
其实开源软件维护者可以申请免费版… - alt-tab: 类似 win 的 Alt Tab 页面。macOS 默认的 cmd+tab 逻辑只能切换不同 app,想要切换同 app 不同窗口需要按 cmd + `
- android-platform-tools: adb/fastboot. 安卓开发 / 搞机必备。
- apifox: 有人喜欢把它叫 postman 国产平替,但我觉得不完全是一个赛道。当然也可以当 postman 用(
- applite: brew 的 GUI,最近才知道。不喜欢敲命令可以逛一逛。
- battery: 极简的 80% 充电限制。
- betterdisplay: macOS 最好的显示器管理软件。win 上甚至没有替代品。授权模式极其友好,不限制激活数量。
- cherry-studio: 著名 LLM 前端。
- cursor: 这个应该不用多说了。
我都是白嫖 vscode 同步,新机先 code 同步完再导入。 - discord: 用得少,很多开发者社区也爱用,偶尔看看。
- docker: 不多说了。
- feishu: 同上。
- firefox: 同上。
- font-cascadia-code: 微软大法好。
- google-chrome:
Web 开发谁敢不下 - iina: 播放器,凑合。真看 metadata 我现在都
ffprobe
了,唉。 - input-source-pro: 神!自动切换输入法。macOS 切输入法有点痛苦的。
- jetbrains-toolbox: jb 我习惯用它装,也可以都走 brew,但是 brew 没多线程太慢了。
- jordanbaird-ice: 不是刘海屏 Mac 可以跳,用来给 macOS 菜单栏图标会溢出到刘海后面擦屁股的。
- keycastr: 在屏幕上显示你按下的键。录屏用。
- lark: 飞书海外版,数据不互通。
- linear-linear: 名字被占了,笑死。项目进度管理软件,个人用免费版完全够用。github 集成也不错。简单说就是高级 todo.
- lm-studio: 著名 LLM GUI 后端。
- moonlight:
我要在 Mac 上打游戏 - obs: 录像我习惯用,直播好像目前还没在 mac 上试过。
- obsidian: 不多说了。
- ollama: 著名 LLM CLI 后端
- parsec: 不仅能打游戏,还能生产力。moonlight 共享不了剪切板,但是 parsec 可以啊。
- playcover-community: 星铁启动!
- rustdesk: 现在知道我有多怕断联了吧(其实还有两三个)
- scroll-reverser: macOS 下单独反转鼠标滚轮方向。
- signal: 端到端加密 im.
- snipaste: 其实你们可以用 pixpin.
- tailscale: 从 zerotier 润过来的,以后可能会换成 wireguard.
- tencent-lemon: 太良心了。
- tencent-meeting: 大家都在用。
- typora: 买了正版支持一下。
- visual-studio-code: 不多说了。
- vlc: 良心播放器。
- warp:
ai 赋能终端 - windterm: ssh 客户端,现在支持用同步盘了。
- zed: rust editor, 适合追求极致性能的场合。
CLI 工具#
- uv: 神!再也没直装过 python
- git:
谁敢不装系统自带的太旧了,一般自己再装一个。 - nvm, rbenv: 比 uv 差很多,之前用的 pyenv, 都是用来解决语言本身版本问题的。
- pnpm: 用来替代 npm. yarn 现在似乎很少用了。
- ffmpeg: 就算不装,很大概率编译的时候也会遇到依赖,更不用说有的是应用自带 ffmpeg 动态库。简单的转换我已经习惯敲命令行了(
- doggo: 我最习惯的 dns cli 客户端,网络调试很好用。同类工具还有经典的 dig,同样现代的 q/dog (rust 写的,doggo 是它的社区 go 重写版)
- wget: 命令行下文件比 curl 直接。web 调试我还是 curl 用得多一些。
brew install --cask \
1password \
alt-tab \
android-platform-tools \
apifox \
applite \
battery \
betterdisplay \
cherry-studio \
cursor \
discord \
docker \
feishu \
firefox \
font-cascadia-code \
google-chrome \
iina \
input-source-pro \
jetbrains-toolbox \
jordanbaird-ice \
keycastr \
lark \
linear-linear \
lm-studio \
moonlight \
obs \
obsidian \
ollama \
parsec \
playcover-community \
rustdesk \
scroll-reverser \
signal \
snipaste \
tailscale \
tencent-lemon \
tencent-meeting \
typora \
visual-studio-code \
vlc \
warp \
windterm \
zed
# cli tools
brew install uv git nvm wget pnpm rbenv
brew install doggo ffmpeg
# oh my zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# 脚本语言三巨头 (¿
uv python install
nvm install --lts
rbenv install -l
rbenv install 3.4.3 # 一般装最新的正式版
# 记得改!别用我的!
git config --global user.name Nahida
git config --global user.email [email protected]
# 安全一些可以一机一密,懒得弄也可以用旧的。但用新的更方便?
ssh-keygen -t ed25519 -C "[email protected]"
Git 配置#
有些代理环境会把 22 端口访问 ban 掉,出于安全考虑。github 官方为了方便,创建了转发 ssh.github.com:443 -> github.com:22 .
详见 https://docs.github.com/zh/authentication/troubleshooting-ssh/using-ssh-over-the-https-port
还有进阶一些的技巧,不考虑操作系统多用户的情况,单用户下想不同 repo 灵活切换多个身份,也可以设置多个 ssh 别名然后使用 ssh 连接。
Host github.com
HostName ssh.github.com
Port 443
User git
IdentityFile ~/.ssh/id_ed25519 # 改成你的位置,这是生成的默认位置。
Host nahida
HostName ssh.github.com
Port 443
User git
IdentityFile ~/.ssh/id_ed25519_nahida # 改成对应用户的私钥,不能重
Host hyacine
HostName ssh.github.com
Port 443
User git
IdentityFile ~/.ssh/id_ed25519_hyacine # 改成对应用户的私钥,不能重复复
这样的话:
- 使用
git clone [email protected]:Homebrew/homebrew-cask.git
就是默认用户(由于配置了别名,git@
部分也可以省略。你也可以配置更短的别名,比如gh
); - 使用
git clone nahida:Homebrew/homebrew-cask.git
就是 nahida 那一项配置的私钥对应用户; - 使用
git clone hyacine:Homebrew/homebrew-cask.git
就是 hyacine 那一项配置的私钥对应用户。
这些配置对于命令行的 ssh 命令也可以用 (废话,不然为什么叫 ,也可以与 vscode 的 ssh 无缝集成。太过详细的内容就不展开了。ssh_config
)
从 Mac App Store 下载的 App#
- Office 365
- 微信
- FastZip
- PasteNow
- 网易云音乐
- 米家
- Onedrive
- iStatistica Pro(别买,还是买 iStat Menus 吧)
- 小米互联服务
- O+ 互联
- Pushdeer
- Speedtest
- Blackmagic Disk Speed Test
- LocalSend
- 速达
- Shadowrocket (?)
下载自 App Store 的 App 通常相对 dmg /pkg 安装的,会使用更少的权限,经过更严格的审查,沙盒也保证了数据隔离和安全性。