我的 2024 年新 Mac 配置
原文由 Shawn Wang 于 发布,订阅该博客
今天我配置了全新的 MacBook Pro(14 英寸,2023 款 M3 Max,36GB 内存,1TB 硬盘)。以下是我在 Mac 上使用的所有工具。
本文的旧版存档:2018–2020 年版、2021 年版、2022 年版和2023 年版。如果未来我更新本文,这些内容会被归档,但本链接保持不变。
最新:2025 年的配置已记录在 https://www.swyx.io/new-mac-setup
滑到最底部查看好友们分享的其他 Mac 配置清单和工具!
新 Mac 配置——今年的主要变动
往年我都会从零开始列出一份完整的操作步骤清单,但因为今年主要是替换去年丢失的那台电脑,所以大体上可以参考我的 2023 年指南。不过今年我做了几处较大的调整,因此先讲变动部分,再回到从零开始的完整指南。
Orion 浏览器
这是今年最大的变化。过去一年我一直在 Arc 浏览器上挣扎,而它现在已经停更了(相关推文)。我依然很喜欢垂直标签页、标签页文件夹和链接预览功能,所以现在愉快地转到了 Kagi 的 Orion:https://kagi.com/orion/
其他现已默认使用的应用
https://www.beeper.com/download-nightly <- 唯一能收到未读 Twitter 私信的方式(前身是 https://texts.com/)
uv 拿下了 Python
别用常规方式安装 Python。不要用 conda,也不要用 brew 装 Python。请用uv 来管理 Python。
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env.fish
uv python install 3.12(我是 Astral 的小小天使投资人)
Raycast 任务管理
已从 Alfred 切换到 Raycast https://www.raycast.com/swyxio
- 主要用到的功能是剪贴板历史(很好用,免费)
- 以及 ChatGPT 大模型集成(与官方 ChatGPT 桌面应用的快捷键有轻微冲突,需要重新设置)
AI 应用安装
- 语音转文字:superwhisper 也在尝试 https://carelesswhisper.app/
maybe https://github.com/lynaghk/whispertron
- 桌面对话:chatgpt desktop
- 终端智能体:
npm i -g @openai/codex
npm install -g @anthropic-ai/claude-code
claude mcp add playwright -- npx -y @playwright/mcp@latest # https://x.com/sergeykarayev/status/1949883217773052132- 本地 AI 模型:https://github.com/ollama/ollama(更多 LocalLLaMA 工具见这里,不过我没用)
- 也可以试试 https://github.com/simonw/llm 及其针对 Apple Silicon 的 mlx 插件
ollama run llama3.2
ollama run HammerAI/llama2-tiefighter
ollama run vanilj/mistral-nemo-12b-celeste-v1.9
ollama run qwen2.5-coder:14b
ollama run hf.co/unsloth/DeepSeek-R1-Distill-Llama-8B-GGUF:Q8_0
# see also gemma-3-27b-it-qat-4bit https://news.ycombinator.com/item?id=43743337(可参考 https://huggingface.co/spaces/DontPlanToEnd/UGI-Leaderboard 或 https://news.ycombinator.com/item?id=43340989 来决定下载哪些其他模型,或参考 https://www.reddit.com/r/LocalLLaMA/comments/1i8tx5z/i_benchmarked_almost_every_model_that_can_fit_in/)
还有来自 ggerganov 的 llama.vim
brew install llama.cpp
llama-server \
-hf ggml-org/Qwen2.5-Coder-3B-Q8_0-GGUF \
--port 8012 -ngl 99 -fa -ub 1024 -b 1024 -dt 0.1 \
--ctx-size 0 --cache-reuse 256或许还需要一个本地界面:https://github.com/johnbean393/Sidekick 或 https://lmstudio.ai/ 或 https://jan.ai/
其他仍在评估的改动
- 用 Ghostty 替代 Warp?还没下定决心。不过这个配置很有用 https://x.com/TheAnirudh/status/1869379182008193313
失败的尝试
我尝试了 fish shell。但因为大多数配置教程都默认使用 bash/zsh,这注定会让你余生都在翻译 README
人生苦短,没必要这样折腾。
新 Mac 配置——从零开始
第一步:立即可做的事
- 浏览器:Kagi 的 Orion:https://kagi.com/orion/ 并设为默认。
- 立刻创建一个 Google Meet,共享屏幕、录制屏幕(为了让所有权限一次性生效,避免之后重启浏览器)。也可以通过 Discord 或 Zoom 网页版来做——只要发起通话并共享屏幕,尽快把所有权限都搞定)
- 登录以下账号:(这有助于后续其他服务的登录)
- GitHub(更多配置说明见下文)
- Gmail
- 安装 Warp(我常用的终端,适合 AI 生成命令,但占用内存较大)
- 我的 .zshrc 现在已包含非常好用的 “please” bash 函数,可以替代 Warp
- 安装 https://ghostty.org/ 并添加键盘导航配置
需要较长时间安装的内容
先把这些跑起来,让它们在后台安装
- 安装 ZSH -
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" - 安装 Homebrew -
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"然后执行
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/swyx/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"我的 brew list 里还有一大堆东西,但不确定哪些是常用的。你可以批量安装——把它们放到 packages.txt 里,然后执行 brew install $(cat packages.txt)
aom icu4c@76 libvmaf [email protected]
aribb24 imath libvorbis qemu
brotli jpeg-turbo libvpx rabbitmq
ca-certificates jpeg-xl libx11 rav1e
cairo krb5 libxau readline
capstone lame libxcb rubberband
certifi leptonica libxdmcp sdl2
cjson libarchive libxext snappy
colima libass libxrender speex
dav1d libb2 lima sqlite
docker libbluray little-cms2 srt
docker-completion libdeflate lz4 svt-av1
dtc libevent lzo tesseract
elixir libidn2 m4 theora
erlang libmicrohttpd mbedtls unbound
ffmpeg libnghttp2 mpdecimal unixodbc
flac libogg mpg123 vde
fnm libpng ncurses webp
fontconfig librist nettle wxwidgets
freetype libsamplerate opencore-amr x264
frei0r libslirp openexr x265
fribidi libsndfile openjpeg xorgproto
gettext libsodium openssl@3 xvid
gh libsoxr opus xz
giflib libssh p11-kit yt-dlp
glib libtasn1 pango z
gmp libtiff pcre2 zeromq
gnutls libtool pipx zimg
graphite2 libunibreak pixman zstd
harfbuzz libunistring pnpm
highway libusb postgresql@14
honcho libvidstab python-packaging
flyctl上述任一步都会提示你安装 Apple Command Line Tools——下载这玩意儿要花 15-25 分钟,所以先做这一步。不要并行执行。
系统 / 浏览器设置
- 系统设置:
- 禁用 Spotlight 对除应用和系统偏好设置之外所有杂项的搜索
- 包括烦人的 Developer 选项(务必把 Xcode.app 放到 /Applications,而不是 /user/swyx/Applications)
- “touch xcode.app” 这一招最近对 Homebrew 失效了。修复方法是
xcode-select --install和sudo xcode-select -s /Library/Developer/CommandLineTools应该就行
- 关闭“询问 Siri”
- 在“键盘”中关闭自动更正
- 为演示时的无障碍需求设为大光标
- 修正触控板方向:触控板 -> 滚动与缩放 -> 关闭“自然”滚动
- 禁用词典查询:触控板 -> 点按与轻点 -> 关闭“查询与数据检测”
- (如果使用 Windows 键盘)重映射 alt 和 cmd 键以更符合人体工学
- 禁用 Spotlight 对除应用和系统偏好设置之外所有杂项的搜索
- 访达设置:
- 设置 -> 高级 -> 显示文件扩展名
- 执行搜索时 -> 搜索当前文件夹
- 启用显示隐藏文件(在访达窗口中按 Cmd + Shift + . 即可)
- 在底部显示路径栏以便导航(显示 -> 显示路径栏)
- 精简侧边栏中过多的书签
- 创建“Work”文件夹并固定到侧边栏
- 设置 -> 通用 -> 新的访达窗口显示 -> Work
- 设置 -> 高级 -> 显示文件扩展名
- 键盘:
- 将 command+Q 重映射为其他任意功能——防止误触全部退出
- 快捷键:将选中区域的截图复制到剪贴板 -> Cmd+E
- 音频键盘——目前在使用 SuperWhisper,最终觉得它比 Wispr AI 更好用
- macOS 程序坞:
- 将程序坞中除访达、系统偏好设置和废纸篓之外的所有图标移除
- 开启程序坞自动隐藏——为演示获得更多屏幕空间
- macOS 菜单栏也同样开启自动隐藏
- Chrome 扩展:(与 Chrome 账号绑定)
- https://github.com/dnakov/little-rat 查看 Chrome 扩展的网络流量
- 付费墙屏蔽 https://github.com/iamadamdev/bypass-paywalls-chrome/
- 查看关于任意页面的推文 https://github.com/swyxio/Twitter-Links-beta(我的博文见这里)
- 更好的历史记录 https://github.com/chrome-enhanced-history/enhanced-history
- Morpheon Dark 主题
- Lastpass
- Display Anchors
- React Devtools
- Refined Github
- Code Copy
- Video Speed Controller ← 强烈推荐
- Palettab
- Privacy Badger
- RescueTime
- uBlock Origin
- Octolinker
配置终端
- 下载、安装并设置字体——Inconsolata for Powerline 和 Meslo LG M for Powerline
- 复制我的 dotfiles(vimrc、zshrc、.gitignore_global):https://gist.github.com/swyxio/7fa1009e460ecb818d5e6d9ca4616a05 - 执行
source ~/.zshrc加载 zshrc- 注意:这里有一份不错的 dotfiles 指南 https://dotfiles.github.io/tutorials/,我还没看过
- 注意:关于 gitconfig 的讨论见 https://news.ycombinator.com/item?id=43170015
- 正在尝试 https://github.com/romkatv/powerlevel10k
- 上面已安装了 ZSH,现在配置其余部分
git config --global init.defaultBranch maingit config --global user.name "swyxio"git config --global user.email [email protected]- 安装好
diff-so-fancy后- 设置
git config --global core.pager "diff-so-fancy | less --tabs=4 -RFX"——让 git diff 更好看 - 也可以用这个 bash 函数来 diff
dif() { git diff --color --no-index "$1" "$2" | diff-so-fancy; },或用 VSCode 的code --diff file1.js file2.js。 - 也可以试试 https://github.com/dandavison/delta
- 设置
- 从 dotfiles 自定义
/.oh-my-zsh/themes/agnoster主题 - 为 Warp 设置字体:https://warp.dev/
- 唯一真正需要改的设置就是把字体设为“Inconsolata for Powerline”——上面已下载。
配置应用 / 开发环境
按照上面的步骤,你应该已经通过 Homebrew 安装了不少东西。下面列出其他你可能需要的工具:
- GitHub CLI:
brew install github/gh/gh- 需要登录 git——如果开启了双重验证,就不能用普通的 GitHub 密码。尝试向任意仓库推送,并在密码处输入Personal Access Token。
- 然后运行
gh auth login - 添加 GitHub SSH 密钥(必做)
- Python:我不再用
pyenv也不再用 Anaconda 了。现在最火的是来自 Astral 的uv。它是 pip、virtualenv、pyenv、poetry 等的替代品。非常新,个人还没太多经验,打算下次尝试。pip install uv,之后用uv pip install代替pip install,用uv venv代替virtualenv或python -m venv。速度快得多,且与其他工具可互换……但对老项目仍可能有轻微的依赖解析问题。- pyenv virtualenv 需要一些 zshrc 配置,否则会出现
Failed to activate virtualenv. Perhaps pyenv-virtualenv has not been loaded into your shell properly.错误,我用这个方法修复了。 - 安装 pytorch:
pip3 install torch torchvision
- pyenv virtualenv 需要一些 zshrc 配置,否则会出现
- 使用以下方式配置 Node.js/NPM——你应该已经通过上面的 Homebrew 安装好了 fnm(比 nvm 更快的替代品),无需单独下载。
fnm install 22来安装 node- 我们之前已执行
brew install pnpm<- 这似乎越来越成为主流 npm loginnpm config set loglevel="warn"npm i -g undollar用于去掉 $ 符号npm install -g npm-check-updates用于更新依赖sudo npm install -g trash-cli添加trash命令,避免永久删除文件
brew install yarn --ignore-dependencies- yarn 说明- 你可能需要绕过 Mac OS Sierra 的问题
brew install z- 并非开箱即用——见我在 rupa/z 仓库提的 issue——Homebrew 更改了 z.sh 脚本的默认安装路径,所以要确保在 zshrc 中指向新的正确路径——. /opt/homebrew/etc/profile.d/z.sh- 可参考 HN 上对 rupa/z 的评价,以及一些替代方案。
- 杂项——以前会装、现在可能不再需要的东西
pip3 install --user powerline-status- 找个空文件夹执行
git clone <https://github.com/powerline/fonts> && cd fonts && ./install.sh
安装常用应用
我讨厌Docker Desktop,所以不用它来跑 “docker”
- 已通过 brew 安装 https://github.com/abiosoft/colima/ 以及
sudo curl -L https://github.com/docker/compose/releases/download/v2.5.1/docker-compose-darwin-aarch64 -o /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-compose
brew install --cask notunes- 这样就不会启动 iTunes/Apple Music- VLC:https://www.videolan.org/vlc/download-macosx.html
- 还需要将音乐文件的默认播放器重设为 QuickTime 或 VLC——常规的“始终以此方式打开”往往无效,必须这样做:
选中任意 MP3 文件,按 “Command+i”,将“打开方式:”改为 VLC,点击“全部更改…”按钮。搞定。
下载 Audacity——并为 Audacity 安装 ffmpeg——说明故意写得很晦涩——直接去 https://lame.buanzo.org/#lameosx64bitdl 下载并运行 pkg——Audacity 会自动检测到
表情符号:以前用 https://matthewpalmer.net/rocket/,现在直接用 Mac 自带的表情选择器(按 Fn 键)
粘贴净化:来自 Sindre Sorhus 的 Pure Paste
密码管理器:根据场景同时使用 1Password 和 LastPass
窗口管理:https://rectangleapp.com/(与 spectacle/magnet 有些渊源,但基本是同一个东西。2024 年:可尝试开源的 https://github.com/MrKai77/Loop)
截图:https://shottr.cc/(Shottr 支持 OCR,但你可能也喜欢专门的 OCR 工具)
剪贴板管理:我现在直接用 Alfred 自带的,因为之前买了终身版。搜索和图片支持都不错,还能添加片段。
- 可探索:Clipbook
应用自动退出:https://swiftquit.com/(窗口关闭时自动退出 Mac 应用)
- 创建一个会议,共享屏幕,录制屏幕
Caffeine(演讲时保持 Mac 唤醒):https://intelliscapesolutions.com/apps/caffeine
- 维护版:Amphetamine(感谢 Matt Mischuk!)——不过 Caffeine 就够用了
QuickShade(通过 Mac 应用控制亮度)
NoTunes——禁用 iTunes/Apple Music
一些现在不常用、需要时才会装的东西
- SkyFonts:[https://www.fonts.com/web-fonts/google]
- 磁盘空间:Disk Inventory X——可以用这条 bash 命令清理 node_modules,或设为定时任务(https://www.fonts.com/web-fonts/google)
笔记:- Obsidian 并按我在 Obsidian as a Second Brain 一文中提到的方式配置 - Microsoft Todo:https://apps.apple.com/app/apple-store/id1274495053?mt=8 - SimpleNote:https://apps.apple.com/us/app/simplenote/id692867256?ls=1&mt=12 - Notion:https://www.notion.so/desktop - https://chrome.google.com/webstore/detail/notion-web-clipper/knheggckgoiihginacbkhaalnibhilkk?hl=en
Stretchly:https://hovancik.net/stretchly/
编辑器:下载 Cursor,使用 Settings Sync 在多台机器间同步
- 需要设置 Powerline 字体“Meslo LG M for Powerline”(下载)
- auto-close-tag v0.5.6
- auto-rename-tag v0.0.15
- Bookmarks v9.1.0
- code-settings-sync v3.1.2
- debugger-for-chrome v4.10.2
- es7-react-js-snippets v1.8.7
- graphql-for-vscode v1.12.1
- mdx v0.1.0
- prettier-vscode v1.6.1
- python v2018.9.2
- python v0.2.3
- rainbow-brackets v0.0.6 - 现已弃用,请改用原生
"editor.bracketPairColorization.enabled": true - shades-of-purple v3.17.0
- vscode-graphql v0.1.5
- vscode-import-cost v2.9.0
- vscode-styled-components v0.0.23
- vscode-wakatime v1.2.3
- TabNine AI 补全
- GitHub Copilot
- 可尝试:File Utils - 由 Stolinski 推荐
其他优质的“新电脑配置”清单:
- https://eugeneyan.com/writing/mac-setup/
- Christoph Nakazawa 的配置:第一部分、第二部分
- Robin Wieruch 的配置
- Mina Markham 的自动化 Mac 配置
- Tania Rascia 的配置
- Nick Nisi 的 dotfiles
- Mathias Bynens 的 macos defaults
- Jamon 的 MacOS 维护技巧
- VMWare Tanzu 团队脚本:https://github.com/pivotal/workstation-setup
- Vendasta:https://github.com/vendasta/setup-new-computer-script
- 你可以用 Sheldon Hull 的工具自动化 dotfiles/homebrew 配置
- 来自名人的实体设备配置:https://setups.co/
- A decade of dotfiles 作者 Evan Hahn
- 也请把你的清单发给我!
thanks [for Daniel Kehoe's mac setup](https://mac.install.guide/mac-setup/)
随机一篇博客
评论
登录后参与讨论