记录我的 Mac Mini 开发环境配置过程,分享一些实用的工具和经验

前言

自从工作后,我的学习与办公环境全面迁移到了 MacOS,而旧的 Windows 机逐渐沦为游戏机(虽然没多少时间玩)。由于手头只有公司发放的笔记本,使用时难免有诸多限制。今年 Apple 发布新设备后,我就一直心心念念想入手一台。考虑到自己没有移动办公需求,加上家里有闲置的显示器,最终选择了一台性能强劲的 Mac Mini。

购买建议:对于此类重大消费决策,建议不要被社交媒体(小红书、知乎、抖音、Bilibili)的种草内容过度影响。应该根据自己的实际需求做出选择。

我的设备配置如下:

  1. 显示器:联想创新 MiniLED 屏幕(22 年购入,支持 1000 尼特亮度)
  2. 键盘:Magic Keyboard
  3. 触控板:Magic Trackpad
  4. 主机:Mac Mini 2(M2 Pro、32GB RAM、1TB SSD)
  5. 桌面配件:
    • 屏幕支架
    • 屏幕挂灯
    • 桌垫
    • Mini 支架
    • 音响
    • 装饰玩具
image
image

购入新机后的第一步 当然是环境迁移啦,因为手动设备是公司电脑,出于安全考虑 不要用迁移助手,应手动迁移。

正文

系统环境配置

系统设置

  1. Apple ID

    • 登录并同步设置
  2. 声音

    • 提醒声音设置为 Breeze
  3. 通用

    • 修改设备名称
    • 更新系统到最新版本
    • 关闭所有共享功能
    • 隔空投送与接力设置为”没有人”或”仅当前用户”
  4. 外观

    • 始终显示滚动条
    • 点击滚动条时跳转到点击位置
  5. 控制中心

    • 仅保留 WiFi、蓝牙、声音的快速访问
  6. 隐私与安全性

    • 关闭定位服务
  7. 显示器

    • 调整至合适的缩放率(在保证清晰度的前提下最大化显示内容)
  8. 墙纸

    • 根据个人喜好设置
  9. 锁定屏幕

    • 屏保时间:10 分钟
    • 关闭显示器:20 分钟
    • 取消登录密码要求
  10. 桌面与程序坞

    • 调整大小和放大效果
    • 最小化效果:神奇效果
    • 打开应用时弹跳
    • 连按窗口标题栏:缩放
    • 最小化窗口至应用图标
    • 自动隐藏和显示程序坞
    • 菜单栏:自动隐藏,最多显示 10 个项目
    • 启用最近使用的应用程序
    • 文档打开偏好:全屏视图
    • 关闭台前调度
    • 调度中心设置:
      • 根据使用情况重新排列
      • 应用切换不自动切换空间
      • 启用程序分组
      • 显示器使用独立空间
    • 禁用所有触发角

设备设置

键盘设置:

  • 将重复速率调至最快
  • 重复前延迟调至最短
  • 启用键盘导航
  • Fn 键无操作
  • 快捷键:
    • 仅保留调度中心为 Option + Esc
    • 其他全部取消

触控板设置:

  • 启用三指拖动功能
  • 根据个人习惯调整手势

Finder 设置

  • 自定义工具栏
  • 显示所有文件扩展名
  • 显示状态栏
  • 设置默认视图偏好

软件安装与配置

浏览器

Chrome: 必备扩展:

  1. Bitwarden(密码管理)
    • 关闭超时
    • 配置 PIN 码登录
  2. Cubox(稍后读)
  3. 沉浸式翻译
  4. Ad blocker

Arc: 快捷键配置:

  • C + D:复制链接
  • C + T:快捷栏
  • Tab:命令模式

输入法

  1. 仅保留 ABC 与搜狗输入法
  2. 登录并同步设置
  3. 开启所有模糊音
  4. 使用 Boundary 主题
  5. 配置 F15 为切换上一个输入法
  6. 配置 ABC 输入法

效率工具

  1. Ice(窗口管理)

    brew install jordanbaird-ice
  2. Snipaste(截图工具)

  3. Manico(应用快速启动)
  4. Hammerspoon(自动化工具)

    brew install hammerspoon --cask

    # 配置示例 option +s 打开软件的设置:
    hs.hotkey.bind({ "alt" }, "s", function()
    hs.eventtap.keyStroke({ "cmd" }, ",")
    end)
  5. PasteNow(剪贴板管理)

  6. AltTab(窗口切换)
  7. Flux(护眼工具)
  8. Keycastr(按键显示)

    brew install --cask keycastr
  9. Applite(应用管理)

    brew install --cask applite
  10. Input Source Pro(输入法管理)

开发工具

  1. VSCode
  2. Cursor
  3. Goland
  4. Warp
  5. Postman

Ideavimrc 配置:

点击显/隐源文件

常用软件

  1. 微信
  2. 飞书
  3. Telegram
  4. 网易云音乐

编辑器配置

Vim/Neovim:

  1. 安装

    # 安装 Vim(可选)
    brew install vim

    # 安装 Neovim
    brew install neovim

    # 安装 LazyVim(可选)
    git clone https://github.com/LazyVim/starter ~/.config/nvim
    rm -rf ~/.config/nvim/.git
  2. Vim 配置

点击显/隐源文件

编程语言环境

  1. Rust 环境

    # 安装 rustup
    brew install rustup

    # 初始化
    rustup-init

    # 验证安装
    rustc -V
  2. Python 环境

    brew install pyenv
    echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
    echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
    echo 'eval "$(pyenv init -)"' >> ~/.zshrc

    pyenv install 2.7.9
    pyenv install 3.11
  3. Go 环境

    bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
    source ~/.gvm/scripts/gvm

    gvm listall
    gvm install go1.20.4
    gvm use go1.20.4 --default
  4. Java 环境

    curl -s "https://get.sdkman.io" | bash
    source "~/.sdkman/bin/sdkman-init.sh"
    sdk install java

命令行工具增强

  1. zoxide(目录快速跳转)

    brew install zoxide
    # 在 .zshrc 中添加
    eval "$(zoxide init zsh --cmd cd)"
  2. fd(文件查找)

    brew install fd
  3. fzf(模糊查找)

    brew install fzf
    $(brew --prefix)/opt/fzf/install
  4. bat(文件查看)

    brew install bat
  5. dust(磁盘空间分析)

    brew install dust
  6. eza(ls 替代)

    brew install eza
  7. bottom(系统监控)

    brew install bottom
  8. broot(文件浏览)

    brew install broot
  9. difftastic(代码比较)

    brew install difftastic
    git config --global diff.external difft
  10. jq(JSON 处理)

    brew install jq
  11. httpie(HTTP 客户端)

    brew install httpie
  12. the_silver_searcher(代码搜索)

    brew install the_silver_searcher
  13. ouch(解压缩工具)

    brew install ouch

Shell 配置

ZSH 插件:

  1. 必备插件

    # zsh-autosuggestions
    git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

    # fast-syntax-highlighting
    git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting

    # you-should-use
    git clone https://github.com/MichaelAquilina/zsh-you-should-use.git $ZSH_CUSTOM/plugins/you-should-use

    # git-open
    git clone https://github.com/paulirish/git-open.git $ZSH_CUSTOM/plugins/git-open

    # zsh-vi-mode
    git clone https://github.com/jeffreytse/zsh-vi-mode $ZSH/custom/plugins/zsh-vi-mode

    # zsh-completions
    git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:=~/.oh-my-zsh/custom}/plugins/zsh-completions

    # history-substring-search
    git clone https://github.com/zsh-users/zsh-history-substring-search ${ZSH_CUSTOM:=~/.oh-my-zsh/custom}/plugins/zsh-history-substring-search

    # fzf-tab
    git clone https://github.com/Aloxaf/fzf-tab ${ZSH_CUSTOM:=~/.oh-my-zsh/custom}/plugins/fzf-tab
  2. 插件配置

    plugins=(
    zsh-autosuggestions
    fast-syntax-highlighting
    command-not-found
    you-should-use
    git-open
    vi-mode
    zsh-vi-mode
    sudo
    zsh-completions
    history-substring-search
    fzf-tab
    )

ZSH 配置:

点击显/隐源文件

字体配置

  1. 编程字体

    brew install font-roboto
    brew install font-fira-code
    brew install font-jetbrains-mono
    brew install font-source-code-pro
  2. Nerd Font

    brew tap homebrew/cask-fonts
    brew install font-jetbrains-mono-nerd-font font-fira-code-nerd-font

系统优化

管理员权限配置

管理员权限配置:

# 编辑 sudoers 文件
sudo vim /etc/sudoers

# 修改配置
%admin ALL = (ALL) NOPASSWD: ALL

系统调优

系统调优:

# 默认保存到本地而非 iCloud
defaults write NSGlobalDomain NSDocumentSaveNewDocumentsToCloud -bool false

# 显示隐藏文件
defaults write com.apple.Finder AppleShowAllFiles -bool true

# 扩展保存面板
defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true
defaults write NSGlobalDomain PMPrintingExpandedStateForPrint -bool true

# 显示控制字符
defaults write NSGlobalDomain NSTextShowsControlCharacters -bool true

# 清理"打开方式"菜单
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user

# 禁用自动启动照片应用
defaults -currentHost write com.apple.ImageCapture disableHotPlug -bool true

按键映射

按键映射: 将 Capslock 映射为 F15:

  1. 创建文件:~/Library/LaunchAgents/com.tomotoes.CapslockF15.plist
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>Label</key>
    <string>com.tomotoes.CapslockF15</string>
    <key>ProgramArguments</key>
    <array>
    <string>/usr/bin/hidutil</string>
    <string>property</string>
    <string>--set</string>
    <string>{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x70000006A}]}</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    </dict>
    </plist>

结语

参考:

本文详细记录了我从公司 MacBook 迁移到个人 Mac Mini 的全过程。无论你是刚入手 Mac,还是想优化现有的开发环境,相信这篇文章都能为你提供有价值的参考。

欢迎转载本站文章,请注明作者和出处 SimonAKing