我的 2023 年新 Mac 配置
原文由 Shawn Wang 于 发布,订阅该博客
今天我配置好了新买的 MacBook Air(13 英寸,2023 款 M2 芯片、16GB 内存、1TB 硬盘)。以下是我在 Mac 上使用的所有工具和配置。
本文的旧版本:2018–2020 年版、2021 年版以及2022 年版。如果今后我再更新本文,这些内容会被归档,但本链接保持不变。
本篇内容在Tomo 的日语播客中也有介绍!
一路滚动到底部,即可查看朋友们分享的其他 Mac 配置清单和工具!
立刻要做的事
- 浏览器:下载Arc Browser(使用我的邀请链接不会对你产生任何费用,还能让我获得 Arc 积分)(我也会用Chrome、手机上的 Safari,极少用Edge),并设为默认浏览器。
- 创建一个 Google Meet、共享屏幕、录制屏幕(目的是把所有权限都跑通,这样之后就不用重启浏览器了)。也可以通过 Discord 或 Zoom 的网页版来做——只要发起通话并共享屏幕,把权限都配置好就行。
- 登录以下账号:(这会方便后续其他服务的登录)
- Github(下方有更详细的配置说明)
- Gmail
- 安装Warp(我现在首选的终端,对 AI 生成命令很友好)
需要花点时间安装的东西
先把这些跑起来,让它们在后台安装
安装ZSH -
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"如果是 M1 芯片的 Mac:
/usr/sbin/softwareupdate --install-rosetta --agree-to-license来安装 Rosetta 2安装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)
autoconf fnm glib libtiff libyaml openssl@3 ripgrep
bat fontconfig go libuv little-cms2 pcre2 ruby
brotli freetype graphite2 libx11 lz4 pixman sqlite
ca-certificates fzf harfbuzz libxau lzo pkg-config xorgproto
cairo gdbm icu4c libxcb m4 pnpm xz
deno gettext jpeg-turbo libxdmcp mpdecimal pyenv yarn
diff-so-fancy gh libev libxext openjdk z pipx
docker giflib libpng libxrender [email protected] readline zstd- 如果在 M1 上遇到 brew 安装问题,这篇 Stack Overflow 回答帮到了我:
arch -x86_64 brew install YOUR_PACKAGE。到了 2023 年,我在 M2 / macOS Ventura 上已经没遇到这类问题了 - 其他可以试试的工具:
- Homebrew 的快速/确定性替代方案 - Nix -
sh <(curl -L https://nixos.org/nix/install) --daemon- 2023 年想尝试的:Nix Flake - Johannes 推荐
以上任意一项都会提示你安装 Apple Command Line Tools——这玩意儿下载要花 15–25 分钟,所以先做这一步。不要并行执行。
系统/浏览器设置
- 系统设置:
- 除了应用和系统偏好设置外,关闭 Spotlight 对其他所有杂项内容的搜索
- 包括那个烦人的 Developer 选项(记得把 Xcode.app 放到 /Applications 而不是 /user/swyx/Applications)
- 关闭“询问 Siri”
- 在键盘设置里关闭自动更正
- 设为大光标,方便演示时更容易看见
- 修正触控板方向:触控板 -> 滚动缩放 -> 关闭自然滚动
- 关闭词典查询:触控板 -> 光标与点按 -> 关闭“查询与数据检测器”
- (如果用 Windows 键盘)重映射 Alt 和 Cmd 键以更符合人体工学
- 除了应用和系统偏好设置外,关闭 Spotlight 对其他所有杂项内容的搜索
- 访达设置:
- 设置 → 高级 -> 显示所有文件扩展名
- 执行搜索时 -> 搜索当前文件夹
- 开启显示隐藏文件(在访达窗口中按住 Cmd + Shift + . 即可)
- 在底部显示路径栏以便导航(显示 -> 显示路径栏)
- 精简侧边栏中过多的书签
- 创建一个“Work”文件夹并固定到侧边栏
- 设置 -> 通用 -> 新的访达窗口打开 -> Work
- 设置 → 高级 -> 显示所有文件扩展名
- 键盘:
- 把 Command+Q 重映射到其他任意组合——防止误触一键全关
- 快捷键:将所选区域的截图复制到剪贴板 -> Cmd+E
- 音频键盘——目前在用Wispr AI,不过 SuperWhisper 口碑也很好。
- macOS 程序坞:
- 把程序坞上除访达、系统偏好设置和废纸篓以外的所有图标都移除
- 开启程序坞自动隐藏
- macOS 菜单栏也一并开启
- Chrome 扩展:(与 Chrome 账号绑定)
我使用的完整扩展列表如下:
aapocclcgogkmnckokdopfmhonfmgoek : Slides : version 0_10
ahfgeienlihckogmohjhadlkjgocpleb : Web Store : version 0_2
amoldiondpmjdnllknhklocndiibkcoe : Twemex: Sidebar for Twitter : version 0_4_4
aohghmighlieiainnegkcijnfilokake : Docs : version 0_10
apdfllckaahabafndbhieahigkjlhalf : Google Drive : version 14_5
bekmjjakgojplnhahcilegeiklenjbgb : Glow : version 1_0
blpcfgokakmgnkcojhhkbfbldkacnbeo : YouTube : version 4_2_8
bmnlcjabgnpnenekpadlanbbkooimhnj : Honey: Automatic Coupons & Cash Back : version 14_11_0
cfldfgibklhmjhnkfighkbafbkbfcmij : Builder : version 1_0_0
cjpalhdlnbpafiamejdnhcphjbkeiagm : uBlock Origin : version 1_42_4
ckolcbmkjpjmangdbmnkpjigpkddpogn : Svelte Devtools : version 1_3_0
dkhfpnphbcckigklfkaemnjdmghhcaoh : netlify-browser-extension : version 1_3_0
fcgckldmmjdbpdejkclmfnnnehhocbfp : Google Finance : version 1_3
felcaaldnbdncclmgdcncolpebgiejap : Sheets : version 1_2
fmkadmapgofadopljbjfkapdkoienihi : React Developer Tools : version 4_24_6
fpnmgdkabkmnadcjpehmlllkndpkmiak : Wayback Machine : version 3_1
geancnifhbkbjijfkcjjdnfemppmcjmk : Hacker News : version 3_21_0
gfdkimpbcpahaombhbimeihdjnejgicl : Feedback : version 1_0
ghbmnnjooekpmoecnnnilnnbdlolhkhi : Google Docs Offline : version 1_42_0
gieabiemggnpnminflinemaickipbebg : CSS Scan : version 3_8_1
hbdpomandigafcibbmofojjchbcdagbl : TweetDeck by Twitter : version 3_10
hdokiejnpimakedhajhdlcegeplioahd : LastPass: Free Password Manager : version 4_95_0_3
hjgngigpjehgifcepdhlnnikibmgeflc : Upnext - Save it for later! : version 4_2_0
hlepfoohegkhhmjieoechaddaejaokhf : Refined GitHub : version 22_5_22
kljjoeapehcmaphfcjkmbhkinoaopdnd : HyperWrite : version 2_0_29
kmendfapggjehodndflmmgagdbamhnfd : CryptoTokenExtension : version 0_9_74
liecbddmkiiihnedobmlmillhodjkdmb : Loom – Free Screen Recorder & Screen Capture : version 5_3_2
mhjfbmdgcfjbbpaeojofohoefgiehjai : Chrome PDF Viewer : version 1
mjdepdfccjgcndkmemponafgioodelna : DF Tube (Distraction Free for YouTube™) : version 1_13_504
neajdppkdcdipfabeoofebfddakdcjhd : Google Network Speech : version 1_0
nffaoalbilbmmfgbnbgppjihopabppdk : Video Speed Controller : version 0_7_1
nkeimhogjdpnpccoofpliimaahmaaome : Google Hangouts : version 1_3_18
nmmhkkegccagdldgiimedpiccmgmieda : Chrome Web Store Payments : version 1_0_0_6
oiaejidbmkiecgbjeifoejpgmdaleoha : Stylebot : version 3_1
pachckjkecffpdphbpmfolblodfkgbhl : vidIQ Vision for YouTube : version 3_73_2
pbgbbbfhjccnnkplhfcmhdcpmcfmpfoi : toast.log : version 2_3
pjkljhegncpnkpknbcohdijeoejaedia : Gmail : version 8_3
poahndpaaanbpbeafbkploiobpiiieko : Display #Anchors : version 1_4配置终端
- 下载、安装并设置字体 - 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"agit config --global user.email YOUR@EMAIL>HERE- 安装好
diff-so-fancy之后- 执行
git config --global core.pager "diff-so-fancy | less --tabs=4 -RFX"——这样 git diff 会好看得多 - 也可以用这个 bash 函数
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”——就是上面下载的那个。
关于 Hyper 终端的推荐,请看去年的版本。
配置应用/开发环境
按照上面的步骤,你应该已经通过 Homebrew 装好了一大堆东西。下面列出其他你可能想用的内容:
- Github CLI:
brew install github/gh/gh- 你需要登录 Git——如果开启了双重验证,就不能用普通的 GitHub 密码。尝试向任意仓库推送,并在密码处输入Personal Access Token。
- 然后运行
gh auth login - 添加 GitHub SSH 密钥(必做)
- 你应该已经通过 brew 装好了
pyenv。现在运行pyenv install 3来获取最新的 Python 3,然后执行git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv并运行pyenv global 3来启用刚装好的版本。- 新动向:来自 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
- 新动向:来自 Astral 的
- 使用以下方式配置Node.js/NPM——你应该已经通过上面的 Homebrew 安装好了fnm(nvm 的更快替代品),所以无需单独下载。
fnm install 18来安装 Nodenpm login- 据说运行
arch -x86_64 zsh可以避免奇怪的 dotenv 报错,但对我没用(只是在 swyxkit 上执行 npm i) - 然后
fnm install 16 npm loginnpm config set loglevel="warn"sudo npm install netlify-cli -g然后netlify loginnpm i -g sign-bunny fortune-node parrotsay都是些好玩的小命令行工具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- 参见 Hacker News 上对 rupa/z 的评价,以及一些替代方案。
- 杂项——以前会装、现在可能不再需要的东西
pip3 install --user powerline-status- 到一个空文件夹执行
git clone <https://github.com/powerline/fonts> && cd fonts && ./install.sh - Anaconda Python 发行版 - 小心,它经常会在未经询问的情况下修改你的 bash 提示符
关于我们已经通过 brew 安装的其他东西的说明
- `brew install java` - you could download [Java Development Kit](https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html) from Oracle but fuck them for putting it behind signup wall
- `brew install go` you may need to `export PATH=$PATH:/usr/local/go/bin`安装应用
安装
smol menubar——我为聊天应用做的菜单栏小工具!:https://github.com/smol-ai/menubar我讨厌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——常规的“始终以此方式打开”往往无效,你得这样做:
Select any MP3 file, Press "Command+i", Change "Open with:" to VLC, Click the "Change All…" button. Tada.
下载Audacity——并为 Audacity 安装 ffmpeg——官方说明故意写得很晦涩——直接去https://lame.buanzo.org/#lameosx64bitdl 下载并运行 pkg 安装包——Audacity 会自动检测到它
表情符号:我以前用https://matthewpalmer.net/rocket/,但现在直接用系统自带的 Mac 表情选择器(按 Fn 键)
隐私小工具:Pure Paste,来自 Sindre Sorhus
密码管理器:公司用 1Password,个人用 LastPass
窗口管理:https://rectangleapp.com/(与 spectacle/magnet 有点渊源,但基本是同类东西。2024 年:可以试试开源的https://github.com/MrKai77/Loop)
截图:https://shottr.cc/(Shottr 自带 OCR,但你可能更喜欢专门的 OCR 工具)
剪贴板管理:我现在直接用 Alfred 自带的,因为之前买了终身版。搜索和图片支持都不错,还能添加片段。
- 可探索:Clipbook
App Quitter:https://swiftquit.com/(当窗口关闭时自动退出 Mac 应用)
- 创建一个会议、共享屏幕、录制屏幕
Caffeine(演讲时保持 Mac 唤醒):https://intelliscapesolutions.com/apps/caffeine
- 仍在维护的版本:Amphetamine(感谢 Matt Mischuk!)
QuickShade(可通过 Mac 应用控制亮度)
NoTunes——禁用 iTunes/Apple Music
不再常用、但有需要时会再装的东西——视频录制:https://getkap.co/——(还在试用……但还没真正用起来)Cron 日历应用 https://cron.com/download/macos——录屏功能演示:https://www.screen.studio/——图片编辑:可试试https://www.pixelmator.com/pro/——双屏:https://www.duetdisplay.com/——动图:Licecap——OBS:https://obsproject.com/——转录:https://www.descript.com/download/mac——SkyFonts:[https://www.fonts.com/web-fonts/google]
- 磁盘空间:Disk Inventory X——你可以用这条 bash 命令清理 node_modules,或设为定时任务(https://www.fonts.com/web-fonts/google)
笔记:- Obsidian,按我在《把 Obsidian 当作第二大脑》一文中提到的方法配置 - 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/
Replay:下载
应用搜索/工具:https://www.alfredapp.com/
- 设为 Alfred Dark 主题
- 隔空投送到 iPhone/iPad
- Cupcake Ipsum
编辑器:下载VS Code(我以前用 Insiders 版本,但弹窗非常烦人)。使用 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 推荐
- 以下是可通过命令行运行的完整列表
code --install-extension ahmadawais.shades-of-purple code --install-extension austenc.tailwind-docs code --install-extension bradlc.vscode-tailwindcss code --install-extension cpylua.language-postcss code --install-extension dbaeumer.vscode-eslint code --install-extension dsznajder.es7-react-js-snippets code --install-extension esbenp.prettier-vscode code --install-extension formulahendry.auto-close-tag code --install-extension formulahendry.auto-rename-tag code --install-extension GitHub.copilot code --install-extension golang.go code --install-extension hashicorp.terraform code --install-extension heybourn.headwind code --install-extension kgscott.retreon code --install-extension kumar-harsh.graphql-for-vscode code --install-extension ms-python.python code --install-extension ms-toolsai.jupyter code --install-extension ms-toolsai.jupyter-keymap code --install-extension ms-toolsai.jupyter-renderers code --install-extension ms-vscode-remote.remote-containers code --install-extension msjsdiag.debugger-for-chrome code --install-extension NickScialli.svelte-dark code --install-extension octref.vetur code --install-extension oderwat.indent-rainbow code --install-extension redhat.java code --install-extension rust-lang.rust code --install-extension rust-lang.rust-analyzer code --install-extension sdras.night-owl code --install-extension silvenon.mdx code --install-extension svelte.svelte-vscode code --install-extension TabNine.tabnine-vscode code --install-extension ThreadHeap.serverless-ide-vscode code --install-extension tht13.python code --install-extension vadimcn.vscode-lldb code --install-extension VisualStudioExptTeam.vscodeintellicode code --install-extension vscjava.vscode-java-debug code --install-extension vscjava.vscode-java-dependency code --install-extension vscjava.vscode-java-pack code --install-extension vscjava.vscode-java-test code --install-extension vscjava.vscode-maven code --install-extension WakaTime.vscode-wakatime code --install-extension wix.vscode-import-cost code --install-extension zxh404.vscode-proto3Screenflow 9 下载
- 考虑切换到Davinci Resolve
其他不错的“新电脑配置”清单:
- Christoph Nakazawa 的配置:上篇、下篇
- Robin Wieruch 的配置
- Mina Markham 的自动化 Mac 配置
- Tania Rascia 的配置
- Nick Nisi 的 dotfiles
- Mathias Bynens 的 macOS 默认设置
- 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/
- Evan Hahn 的《十年 dotfiles 之路》
- 也欢迎把你的清单发给我!
thanks [for Daniel Kehoe's mac setup](https://mac.install.guide/mac-setup/)
随机一篇博客
评论
登录后参与讨论