打造你的 Mac
由 Claude 从英文原文翻译。
📖 前言
你有没有自己布置过房间?说实话,我没有,因为我一直在租房。不过我确实会整理家里的东西。此刻,我正躺在沙发上写这篇文章。为了让它更生动,我决定放一张我现在环境的照片。
我搬到上海还不到两个月,但已经让这里变得很熟悉了。这让我能够生活得开心且有一定"效率"——意思是房间的布置完美契合了我的日常习惯。
电脑也是一样,尤其是工作电脑。我们并不拥有工作电脑,它们属于公司。但既然我们大部分屏幕时间都花在上面,确保它们让我们感到愉快且高效就很重要。
🔧 基础设置
🗂️ Dotfiles
https://github.com/yujiachen-y/dotfiles
Dotfiles 可以看作是你电脑的元数据。我个人使用 Brewfile 来管理 Mac 的依赖。只要一个应用能通过 Homebrew 安装,你就应该把它加到 Brewfile 里。实际上,只有极少数应用无法通过 Homebrew 安装。
我还把 .zshrc 和 .vimrc 文件存在 Dotfiles 里,这样就不需要重复配置 zsh 和 vim。
此外,把 Mac 设置存在 dotfiles 里也是常见做法。不过,有些无法通过命令行修改的选项仍然需要去系统设置里手动配置。顺便说一句,每次我配置新 Mac 时,系统偏好设置里总会有 UI 变化和新选项。所以手动设置也帮我发现了苹果做了哪些改动 哈哈。
💻 命令行配置
我使用 Warp 作为终端模拟器。不过我认为 Terminal.app、iTerm2 和 Warp 之间的差异并不大。对我来说,Warp 有三个主要优势:
-
建议功能:我觉得比 zsh-autosuggestions 更好用。
-
AI Copilot:在我看来,所有 AI copilot 产品都可以被直接问 ChatGPT 替代。(更新:Warp 现在也有 agent 模式了。)
你有没有看过你的 .zshrc 文件有多少行代码?那些行都在干什么?我检查了我的,只有 15 行。通常,.zshrc 文件里全是 [oh-my-zsh](https://github.com/ohmyzsh/ohmyzsh) 的配置,但我只保留了几个必要的插件,删掉了不需要的。这里介绍几个值得一提的 oh-my-zsh 插件:
-
dotenv:自动将 .env 文件加载到环境变量中。
-
git:我每天都在用
gaa(git add --all)、gsmsg(git commit --message)和gcn!(git commit --verbose --no-edit --amend)这些命令。- 一个 git 小技巧:请使用
gcn!来避免 PR 中不必要的 commit 信息。
- 一个 git 小技巧:请使用
-
z:用极少的按键访问你最常去的目录。
如前所述,我使用 Warp 的内置 shell 提示符,它长这样:
不过,它不太灵活,也无法在其他终端模拟器中使用。如果你用 Warp 的 shell 提示符,在 VSCode 或其他文本编辑器和 IDE 中可能会遇到问题。把 Warp 嵌入 VSCode 尤其困难。
我推荐使用 p10k 作为你的 shell 提示符。它非常灵活,且不绑定特定终端模拟器,可以跨不同终端使用。
这里我想提两个我最喜欢的 macOS 命令:pbpaste 和 pbcopy。它们的 Manual Page 上已经有一些实用的示例了。
⚙️ 系统设置
如前所述,以下部分设置可以整合到你的 dotfiles 中。
这些设置将提升你的生产力:
- 防止自动休眠
- 三指拖拽
How to select or drag using three fingers on your MacBook track pad
- 减少键盘延迟时间:将键盘延迟设置为最短。作为程序员,我们可不能浪费时间等键盘延迟。
- 关闭双空格句号:这个功能很烦人,最好关掉。
- 交换 Caps Lock 和 Command 键:你最常用的键应该更容易触达。把 Caps Lock 键和 Command 键互换。
- 关闭长按弹出:这个设置只能通过命令行关闭。如果你使用 Vim,可能不需要关闭这个设置,因为在 Vim 中长按按键本身就不是好的操作习惯。
defaults write -g ApplePressAndHoldEnabled -bool false
📱 应用
如前所述,这里列出的所有应用都应该通过 Brewfile 来管理。
🌟 Raycast
Raycast 是 Mac 快捷操作的百宝箱。 以下是我常用的一些快捷功能:
| Clipboard History | Search Emoji | Window Management | Music Control | Kill Process | Search Browser Tabs | Reminder |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
配合自定义快捷键,Raycast 会非常好用。
🌟 AltTab
在 Mac 上,你可以用 Command + Tab 切换应用。但内置的应用切换器不支持在同一应用的不同窗口之间切换,如果你需要频繁在一个应用的多个窗口间来回切换,就会很不方便。
AltTab 解决了这个问题,它允许你在不同 Mac 桌面的窗口之间切换。这样你就不需要用鼠标来切换窗口和桌面了。
💾 备份
世界上有两种人:
做备份的人
将来会做备份的人
你拥有但没有备份的数据,随时可能永远消失。下面我们将介绍一些良好的备份基础知识以及某些方法的陷阱。
3-2-1 原则
3-2-1 原则是备份数据的通用推荐策略。它要求你:
至少有 3 份数据副本
2 份副本存储在不同的介质上
1 份副本存放在异地
这个建议背后的核心思想是不要把所有鸡蛋放在一个篮子里。拥有 2 个不同的设备/磁盘可以确保单个硬件故障不会夺走你所有的数据。同样,如果你唯一的备份存放在家里,而房子着火了或被盗了,你就会失去一切——这就是异地备份的意义。本地备份提供可用性和速度,异地备份提供灾难恢复能力。
来源:Backups
💭 反思
-
定期审视你的工作流程,尝试提升效率。