主要观点:作者从 2012 年起使用 Linux,后切换至 MacOS,本文记录其体验。强调工具作者应将专业知识融入工具供用户使用,用户应学习工具的使用方法。
关键信息:
- 切换原因:CPU 性能大幅提升、准备好投入远程开发设置、Linux 机器噪音大等。
- 软件管理:使用 Brewfile 管理软件安装,通过
brew bundle install
同步,临时安装用brew install
,有 Rust 工具config
辅助管理配置。 - 无锁文件:MacOS 系统基础更广泛,不使用 Brewfile 的锁文件,系统和软件升级较顺利。
- 窗口管理:不使用平铺窗口管理器,MacOS 有类似轻量级平铺功能但应用切换动画无法关闭,可通过 Hammerspoon 脚本实现快速切换全屏应用,Linux 实现类似功能较繁琐。
- 键盘:多年前切换至主行计算,MacOS 有 Karabiner-Elements 但 GUI 不佳,使用 Rust 工具 kanata 配置键盘,解决了箭头键使用问题。
- 标准快捷键:Emacs 快捷键在 Mac 上基本可用但在 Slack 中不行,关于行首行尾快捷键存在争议,可通过修改
DefaultKeyBinding.Dict
文件解决。 - 命令面板:MacOS 有 Cmd+Shift+?的命令面板快捷键,类似 Emacs 的
M-x
,可在应用中使用。 - 游戏:Mac 目前 GPU 性能较强,Windows 模拟层成熟,如 Baldur's Gate III、Path Of Exile 2 等游戏运行良好,作者玩游戏增多。
重要细节: - 作者过去在 Linux 上开发时,通过在 Linux 虚拟机中运行 Windows 来重现 Windows 特定 bug,现在打算在 Mac 上用 Mac 托管代码编辑器的 GUI,不关心实际运行代码的机器。
- 远程开发的传统方法(ssh & X 转发)在分布式系统中存在问题,新的方法是让应用在本地运行并明确知道有其他计算机存在,如 VS Code、WezTerm 等应用。
- 作者在 Linux 上有
ctrlc
/ctrlv
命令行别名用于包装剪贴板工具,在 Mac 上pbcopy
/pbpaste
可直接使用。 - Karabiner-Elements 的 GUI 部分不佳,需用 JSON 配置,作者使用 Rust 工具 kanata 配置键盘,需重新添加 fn/globe 键的媒体控制键。
- 作者希望 Mac 有系统范围的快捷键一致性,如垂直和水平分割的快捷键,但未实现。
- 提到有关于远程开发的额外技巧将在后续专门帖子中介绍,并推荐了[https://peter.bourgon.org/blo...]。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。