我的 MacBook 配置记录

status
Published
type
Post
slug
macbook-config-record
date
Jun 3, 2023
tags
Apps
Mac
Config
summary
记录了 MacBook 的一些环境配置。包括使用 ClashX Pro 进行全局按规则分流,安装 Oh My Zsh 和 powerlevel10k 主题,以及使用 Homebrew 安装各种应用程序和工具。还包括配置 Rime 输入法和一些小技巧,如修改主机名、减少 Dock 栏动画响应时间和修改启动台行列数等。
MacBook 的部分配置,简单记录如下

ClashX Pro, 已切换为 Clash Meta

先连上网,再谈别的,直接增强模式全局按规则分流

Shell

Mac 默认 Shell 为 zsh,后续会使用 homebrew 另外安装的 zsh 来代替
Oh My Zsh (虽然性能为人诟病,但习惯了,等慢得受不了再换吧……)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
powerlevel10k 主题
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k # 编辑配置文件 vim .zshrc ZSH_THEME="powerlevel10k/powerlevel10k" p10k configure
plugins
# 编辑配置文件 vim ~/.zshrc # 找到 plugins 字段 plugins=( git sudo z ) # 应用配置文件 source ~/.zshrc
Homebrew
# Xcode 命令行工具 xcode-select --install # 重装命令 sudo rm -rf /Library/Developer/CommandLineTools xcode-select --install # Homebrew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # 安装完 Homebrew 可以直接复制提示的命令将 brew 加入用户配置文件 echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/<用户名>/.zprofile # 将 brew 加入环境变量 eval "$(/opt/homebrew/bin/brew shellenv)"

Application

如下网站可以搜索软件(主要为开发者相关),会给出相应的 brew 安装命令
# Google Chrome 浏览器 brew install --cask google-chrome # Arc 浏览器 brew install arc --cask # Raycast(快速启动工具) brew install --cask raycast # Warp(终端--AI功能) brew install --cask warp # Kitty(终端模拟器) brew install --cask kitty # Cakebrew(Homebrew 图形界面管理工具) brew install --cask cakebrew # 另一个图形管理界面 brew install --cask applite # Alt-Tab(窗口切换增强工具) brew install --cask alt-tab # Fig(命令行智能提示补全) brew install --cask fig # JetBrains Toolbox(JetBrains 软件集成管理工具) brew install --cask jetbrains-toolbox # GoLand brew install --cask goland # IDEA brew install --cask intellij-idea # DataGrip brew install --cask datagrip # 接口调试工具 brew install --cask rapidapi brew install --cask reqable # Rectangle(窗口管理工具)(Raycast 中的窗口管理已经够用 brew install --cask rectangle # Tailscale 组网工具 brew install --cask tailscale # Slack(团队协作工具) brew install --cask slack # Stats(系统监控工具-开源) brew install --cask stats # Telegram(即时通讯工具) brew install --cask telegram # Visual Studio Code(代码编辑器) brew install --cask visual-studio-code # Battery(电池工具-开源) brew install --cask battery # DevTools(开发工具集合) brew install --cask devtools # Input Source Pro(输入源自动切换工具) brew install --cask input-source-pro # Only Switch(一些开关工具集) brew install --cask only-switch # Mos(鼠标平滑滚动工具) brew install --cask mos # LinearMouse(鼠标加速度管理工具) brew install --cask linearmouse # 多一种选择 brew install --cask mouse-fix # Keka(压缩文件管理工具) brew install --cask keka # MacZip(压缩文件管理工具) brew install --cask maczip # Lark(团队协作工具) brew install --cask lark # Cheatsheet(快捷键提示工具) brew install --cask cheatsheet # IINA(视频播放器) brew install --cask iina # OpenInTerminal(在终端中打开当前目录工具) brew install --cask openinterminal # Orbstack(Docker Desktop 替代,好用) brew install --cask orbstack # LocalSend(本地文件传输工具) brew install --cask localsend # Aerial(屏幕保护程序)非必须 brew install --cask aerial # 非标 4K 屏幕 HiDPI 缩放修复 brew install betterdisplay --cask # Fork(Git 客户端) brew install --cask fork # 妙言 (Markdown 编辑器) brew install --cask miaoyan # ImHex(十六进制编辑器) brew install --cask imhex # Wireshark(网络协议分析工具) brew install --cask wireshark # Proxyman(网络代理工具) brew install --cask proxyman # Another Redis Desktop Manager(Redis 图形界面管理工具) brew install --cask another-redis-desktop-manager # Shottr(截图工具) brew install --cask shottr # Kap(屏幕录制工具) brew install --cask kap # Screenflow (录屏、录制 Gif) brew install --cask screenflow # Android File Transfer brew install openmtp --cask # Dash (API 文档 代码片段管理) brew install --cask dash #--- # Neofetch(系统信息显示工具) brew install neofetch # Zsh(Shell) brew install zsh # Zsh Syntax Highlighting(Zsh 语法高亮插件) brew install zsh-syntax-highlighting # Zsh Autosuggestions(Zsh 命令自动补全插件) brew install zsh-autosuggestions # Zsh History Substring Search(Zsh 命令历史模糊搜索插件) brew install zsh-history-substring-search # Smartmontools(硬盘健康状态检测工具) brew install smartmontools # Wget(命令行下载工具) brew install wget # Curl(网络请求工具) brew install curl # Vim(文本编辑器) brew install vim # Tree(目录结构显示工具) brew install tree # OpenSSH(SSH 客户端工具) brew install openssh # RSync (文件传输同步,自带的 rsync 会遇到乱码问题) brew install rsync # Git(版本控制工具) brew install git # Htop(系统资源监控工具) brew install htop # Btop(类似于 htop 的系统资源监控工具) brew install btop # Dust(磁盘空间使用情况分析工具) brew install dust # fnm (更快的 Node.js 版本管理工具) 代替原来的 nvm, fnm install --lts brew install fnm # ASDF(版本管理工具) brew install asdf # CMake(跨平台构建工具) brew install cmake # Less(文件查看工具) brew install less # GNU Sed(文本处理工具) brew install gnu-sed # Telnet(网络协议测试工具) brew install telnet # 类似 Linux ip 命令 brew install iproute2mac # Mas(Mac App Store 命令行工具) brew install mas # Nali(IP 地理位置查询工具) brew install nali # Exa(现代化的 ls 替代工具) brew install exa # Bat(cat 命令的增强版) brew install bat # Fd(更简单、更快速的 find 替代工具) brew install fd # Fzf(模糊搜索工具) brew install fzf # Tldr(命令行帮助工具) brew install tldr # Tmux(终端复用工具) brew install tmux # Jq(JSON 处理工具) brew install jq # Dog(命令行 DNS 工具) brew install dog # Httpie(命令行 HTTP 客户端工具) brew install httpie # Nmap(网络扫描工具) brew install nmap # Duti(文件关联工具) brew install duti # FFmpeg(音视频处理工具) brew install ffmpeg # Tig(Git 工具) brew install tig # macOS 命令行工具 brew install m-cli # kubenetest 命令行 brew install kubernetes-cli brew install kubecm # Logitech Options,不建议装 brew tap homebrew/cask-drivers brew install logitech-options # A cleanup script for macOS brew tap fwartner/tap brew install fwartner/tap/mac-cleanup # python 版本 brew tap mac-cleanup/mac-cleanup-py brew install mac-cleanup-py # Quick Look 预览插件 # 语法高亮 brew install --cask --no-quarantine syntax-highlight # Markdown 预览 brew install --cask qlmarkdown # 字体 # brew 添加字体库 brew tap homebrew/cask-fonts # 安装字体 个人偏好 # Meslo LG Nerd Font brew install font-meslo-lg-nerd-font brew install font-jetbrains-mono-nerd-font # LXGW WenKai brew install font-lxgw-wenkai # Symbols Only Nerd Font(仅符号字体) brew install font-symbols-only-nerd-font
# 将 brew 安装的 zsh 路径添加到 /etc/shells sudo sh -c "echo '/opt/homebrew/bin/zsh' >> /etc/shells" # 或者 echo /opt/homebrew/bin/zsh | sudo tee -a /etc/shells # 更改当前使用的 Shell chsh -s /opt/homebrew/bin/zsh # 更改 .zshrc 配置 vim .zshrc # 取消语言注释 export LANG=en_US.UTF-8 # zsh 插件 # zsh-syntax-highlighting 对输入的命令进行高亮显示 source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh # zsh-autosuggestions 根据历史记录对提示命令输入 source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh # zsh-history-substring-search 子命令匹配 source /opt/homebrew/share/zsh-history-substring-search/zsh-history-substring-search.zsh
磁盘清理工具

输入法

输入法沿用 Linux 上一样的 Rime 输入法(Squirrel),搭配 雾凇拼音 使用小鹤双拼
快速部署可使用如下项目,当然也可以手动部署,依次配置。
帮助无痛快速安装、部署 Rime 输入法(中州韵、小狼毫,鼠须管)以及部署配置。
# 切换到 Rime 输入法,按 Ctrl + Option + ~ 重新部署 或者执行如下命令 /Library/Input\ Methods/Squirrel.app/Contents/MacOS/Squirrel --reload
notion image

Some Tips

  • 修改主机名 / 共享电脑名称
sudo scutil --set HostName <主机名> sudo scutil --set ComputerName <计算机名>
  • 减少 Dock 栏动画响应时间(习惯设置自动隐藏)
# 设置启动坞动画时间设置为 0.5 秒 defaults write com.apple.dock autohide-time-modifier -float 0.5 && killall Dock # 设置启动坞响应时间最短 defaults write com.apple.dock autohide-delay -int 0 && killall Dock # 下面是恢复默认的命令 defaults delete com.apple.dock autohide-time-modifier && killall Dock defaults delete com.apple.Dock autohide-delay && killall Dock # 重启 Dock 生效 killall Dock
  • 修改启动台行列数
# 设置列数为 10 defaults write com.apple.dock springboard-columns -int 10 # 设置行数为 6 defaults write com.apple.dock springboard-rows -int 6 # 重启 Dock 生效 killall Dock # 恢复默认 defaults write com.apple.dock springboard-rows Default defaults write com.apple.dock springboard-columns Default # 重启 Dock 生效 killall Dock
  • 设置项
# 默认保存到磁盘(而不是 iCloud) defaults write -g NSDocumentSaveNewDocumentsToCloud -bool true # Finder 允许 ⌘+Q 退出 defaults write com.apple.finder QuitMenuItem -bool true # Finder 关闭更改扩展名警告 defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false # 保持桌面清洁 defaults write com.apple.finder ShowHardDrivesOnDesktop -bool false defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool false defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool false defaults write com.apple.finder ShowMountedServersOnDesktop -bool false # 优先展示文件夹 defaults write com.apple.finder _FXSortFoldersFirst -bool true # Finder 新窗口打开 $HOME 目录 defaults write com.apple.finder NewWindowTarget -string PfHm defaults write com.apple.finder NewWindowTargetPath -string "file://$HOME/" # Quick Look 时允许文本选择 defaults write com.apple.finder QLEnableTextSelection -bool true # 展示元数据,但不在信息面板预览 defaults write com.apple.finder FXInfoPanesExpanded -dict MetaData -bool true Preview -bool false # 开启触控板单指点按 defaults write com.apple.AppleMultitouchTrackpad Clicking -bool true defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad Clicking -bool true # 开启触控板三指拖动 defaults write com.apple.AppleMultitouchTrackpad TrackpadThreeFingerDrag -bool true defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadThreeFingerDrag -bool true # 活动监视器默认按 CPU 排序 defaults write com.apple.ActivityMonitor SortColumn -string CPUUsage defaults write com.apple.ActivityMonitor SortDirection -int 0 # 禁用下载应用程序的隔离 defaults write com.apple.LaunchServices LSQuarantine -bool false # 避免在 USB 或网络卷上创建 .DS_Store 文件 defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true # 禁用崩溃报告 defaults write com.apple.CrashReporter DialogType -string none # 禁用个性化广告 defaults com.apple.AdLib forceLimitAdTracking -bool true defaults com.apple.AdLib allowApplePersonalizedAdvertising -bool false defaults com.apple.AdLib allowIdentifierForAdvertising -bool false # 允许打开任何来源的应用,视情况选择是否执行 sudo spctl --master-disable # 命令执行后可能需要注销重新登录才生效
  • “xxx.app” 已损坏,无法打开
# 例 sudo xattr -r -d com.apple.quarantine /Applications/<应用名>.app
notion image
  • Finder 会在目录下生成一些隐藏文件(如 .DS_Store),我们可以使用 GitHub 维护的 macOS .gitignore 模板,并让它对当前用户所有的 Git 存储库都生效
curl https://raw.githubusercontent.com/github/gitignore/master/Global/macOS.gitignore -o ~/.gitignore # 附加到全局 .gitignore 文件 git config --global core.excludesfile ~/.gitignore
  • 关闭每次启动终端显示 Last Login Time
cd ~ && touch .hushlogin
  • 使用 Touch Id 授权 sudo
# 把 /etc/pam.d/sudo 备份为 /etc/pam.d/sudo.bak,然后在 /etc/pam.d/sudo 的第二行前面加入 auth sufficient pam_tid.so sudo sed -i ".bak" '2s/^/auth sufficient pam_tid.so\'$'\n/g' /etc/pam.d/sudo # 恢复 sudo mv /etc/pam.d/sudo.bak /etc/pam.d/sudo
Touch Id 还可以参考:pam-touchID 和 pam_touchid.
  • 登录项信息,找出已经卸载但仍然残留在列表中的条目位置
sudo -- bash -c 'echo " - $(date) -"; while IFS= read -r eachPlist; do echo "-$eachPlist"; /usr/bin/defaults read "$eachPlist"; done <<< "$(/usr/bin/find /Library/LaunchDaemons /Library/LaunchAgents ~/Library/LaunchAgents /private/var/root/Library/LaunchAgents /private/var/root/Library/LaunchDaemons -name "*.plist")"; /usr/bin/defaults read com.apple.loginWindow LogoutHook; /usr/bin/defaults read com.apple.loginWindow LoginHook'
notion image
  • 应用残留文件位置:Library/Application Support 和 /Library/Containers
  • Edge 浏览器太流氓,卸载 brew uninstall --zap --force microsoft-edge
    • edge 在 mac 可以通过这种方法安装:pkgutil --expand edge.pkg ./edge 里面的 payload 加 zip 扩展名,解压即可得到绿色的 edge
  • Launchpad 配置位置 echo $(getconf DARWIN_USER_DIR)com.apple.dock.launchpad/db/
快捷键
全局常用快捷键
  • Command-Z:撤销上一个命令。随后你可以按 Shift-Command-Z 来重做,从而反向执行撤销命令。在某些 App 中,你可以撤销和重做多个命令。
  • Command-H:隐藏最前面的 App 的窗口。要查看最前面的 App 但隐藏所有其他 App ,请按 Option-Command-H 。
  • Command-M:将最前面的窗口最小化至“程序坞”。要最小化最前面的 App 的所有窗口,请按 Option-Command-M 。
  • Command-W:关闭最前面的窗口。要关闭 App 的所有窗口,请按下 Option-Command-W 。
  • Control-Command-F:全屏使用 App (如果 App 支持)。
  • Command-Tab:在打开的 App 中切换到下一个最近使用的 App 。
  • Command-重音符 (`):在你当前所用 App 的各个窗口之间切换。(第二个按键上的字符因键盘而异,通常是在 Tab 键上方,数字 1 的左侧。)
 
访达和系统快捷键
  • Command-I:显示所选文件的“显示简介”窗口。
  • Shift-Command-G:打开“前往文件夹”窗口。
  • Shift-Command-P:在“访达”窗口中显示或隐藏预览面板。
  • Ctrl-Shift-Command-T:将所选的“访达”项目添加到“程序坞”
  • Option-Command-P:隐藏或显示“访达”窗口中的路径栏。
  • Option-Command-S:隐藏或显示“访达”窗口中的边栏。
  • *Command–斜线(/)**:隐藏或显示“访达”窗口中的状态栏。
  • Command-1:以图标方式显示“访达”窗口中的项目。
  • Command-2:以列表方式显示“访达”窗口中的项目。
  • Command-Delete:将所选项移到废纸篓。
  • Shift-Command-Delete:清倒废纸篓。
  • comand+option+v:移动文件而非复制
 
桌面快捷键
  • Option-Command-D:显示或隐藏“程序坞”。
  • Command-调度中心(F3) :显示桌面。
  • Control-下箭头:显示最前面的 App 的所有窗口。
 
  • 🌐 + C 控制中心
  • 🌐 + N 通知中心
  • 🌐 + Q 快速备忘录
  • 🌐 + H 显示桌面
  • 🌐 + A 显示 Docker
  • 🌐 + ⇧ + A 显示 App 资源库
恢复青天白日旗Emoji🇹🇼
# 查看配置 /usr/libexec/PlistBuddy -c "print" /Library/Preferences/.GlobalPreferences.plist # 更改配置国家为 US, 需要 root sudo /usr/libexec/PlistBuddy -c "Set :Country US" /Library/Preferences/.GlobalPreferences.plist
………