我的 MacBook 配置记录

✨ 记录了 MacBook 的一些环境配置。包括使用 ClashX Pro 进行全局按规则分流,安装 Oh My Zsh 和 powerlevel10k 主题,以及使用 Homebrew 安装各种应用程序和工具。还包括配置 Rime 输入法和一些小技巧,如修改主机名、减少 Dock 栏动画响应时间和修改启动台行列数等。

MacBook 的部分配置,简单记录如下

ClashX Pro, 已切换为 Clash Meta

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

https://okhk.net/use-launchctl-to-start-clash-meta-kernel-on-macos

Shell

Mac 默认 Shell 为 zsh,后续会使用 homebrew 另外安装的 zsh 来代替

Oh My Zsh (虽然性能为人诟病,但习惯了,等慢得受不了再换吧……)

https://ohmyz.sh/
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 安装命令

https://fancymacbook.app/
# 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

磁盘清理工具

https://www.prettyclean.cc/zh

输入法

输入法沿用 Linux 上一样的 Rime 输入法(Squirrel),搭配 雾凇拼音 使用小鹤双拼

快速部署可使用如下项目,当然也可以手动部署,依次配置。

https://github.com/Mark24Code/rime-auto-deploy
帮助无痛快速安装、部署 Rime 输入法(中州韵、小狼毫,鼠须管)以及部署配置。
#  切换到 Rime 输入法,按 Ctrl + Option + ~ 重新部署 或者执行如下命令
/Library/Input\ Methods/Squirrel.app/Contents/MacOS/Squirrel --reload

更多参考 https://github.com/geekbb/-RIME-geek/

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

# 关闭重启恢复窗口
defaults write com.apple.loginwindow TALLogoutSavesState -bool FALSE

# 允许打开任何来源的应用,视情况选择是否执行
sudo spctl --master-disable

# 命令执行后可能需要注销重新登录才生效
  • “xxx.app” 已损坏,无法打开
# 例
sudo xattr -r -d com.apple.quarantine /Applications/<应用名>.app
  • 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.

https://github.com/artginzburg/sudo-touchid#readme
  • 登录项信息,找出已经卸载但仍然残留在列表中的条目位置
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'
  • 应用残留文件位置: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 。
  • Option-Command-Esc:强制退出 App 。
  • 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

………


https://git.herrbischoff.com/awesome-macos-command-line/about/

其他资源链接