iTerm2 配置#
it2是macos下最好用的终端模拟器,没有人反对吧
主要配置如下





主题是修改了背景色的Dracula主题(PS:Dracula主题诞生背后有一段感人的故事,在The origin story查看)
底栏
Snippet和Action功能可以用来干很多有意思的事情
关于Homebrew#
mac人手必装软件,但是我建议不要用brew安装图形化的软件(例如微信qq等),否则它们的更新和卸载会让你很头疼
贴几条清理brew的命令(使用前先审计!)
# cleanup
brew cleanup --prune=all
brew cleanup --scrub
rm -rf "$(brew --cache)"
# query manual installed
brew list --installed-on-request
brew deps --installed --tree
Zsh 配置#
不用oh-my-zsh,又大又笨重,自己配置即可
命令补全类#
效果:
命令补全(输入se按Tab)
命令纠错(输入braw按Tab)

路径自动补全(输入d/o/b按Tab)

.zshrc
autoload -Uz compinit && compinit
setopt MENU_COMPLETE AUTO_MENU
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
zstyle ':completion:*' menu select
zstyle ':completion:*:matches' group 'yes'
zstyle ':completion:*' file-sort modification
zstyle ':completion:*' squeeze-slashes true
zstyle ':completion:*' completer _complete _approximate _extensions
zstyle ':completion:*' group-name ''
zstyle ':completion:*:*:*:*:corrections' format '%F{yellow}-- %d (errors: %e) --%f'
zstyle ':completion:*:*:*:*:descriptions' format '%F{blue}-- %D %d --%f'
zstyle ':completion:*:*:*:*:messages' format ' %F{purple} -- %d --%f'
zstyle ':completion:*:*:*:*:warnings' format ' %F{red}-- no matches found --%f'
解释:
autoload -Uz compinit && compinit
# 加载 Zsh 的补全系统
setopt MENU_COMPLETE AUTO_MENU
# 按 Tab 时直接进入补全菜单,而不是列出所有选项
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
# 补全匹配忽略大小写、允许在任意位置匹配
zstyle ':completion:*' menu select
# 使用可选择菜单显示补全选项
zstyle ':completion:*:matches' group 'yes'
zstyle ':completion:*' group-name ''
# 对匹配项进行分组,但不显示组名
zstyle ':completion:*' file-sort modification
# 文件补全时按修改时间排序
zstyle ':completion:*' squeeze-slashes true
# 压缩路径中的多个斜杠为一个
zstyle ':completion:*' completer _complete _approximate _extensions
# 设置补全器的执行顺序:
# _complete:普通补全
# _approximate:近似补全(拼写纠错)
# _extensions:文件扩展名补全
zstyle ':completion:*:*:*:*:corrections' format '%F{yellow}-- %d (errors: %e) --%f'
# 纠错信息的黄色格式化输出
zstyle ':completion:*:*:*:*:descriptions' format '%F{blue}-- %D %d --%f'
# 描述信息的蓝色格式化输出
zstyle ':completion:*:*:*:*:messages' format ' %F{purple} -- %d --%f'
# 消息的紫色格式化输出
zstyle ':completion:*:*:*:*:warnings' format ' %F{red}-- no matches found --%f'
# 警告信息的红色格式化输出
另外安装zsh-syntax-highlighting插件,提供命令的高亮显示zsh-autosuggestions我不喜欢,不太聪明,没装。
都可以用brew安装,按照提示修改zshrc即可
# source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
ls命令替换#
使用过eza和lsd,由于eza不能对列进行排序(我喜欢文件名在第一列),于是选择lsd
效果:
alias ls="lsd -la --date relative --classify"
用法参考lsd仓库
Home和End跳转命令头尾#
oh-my-zsh是自带这个特性的,不知道为什么zsh默认没有,当时还以为是iTerm2的问题。
个人平时习惯fn+left/right(在macOS下映射为Home和End)跳命令头尾,另外还有fn+up/down(即Page Up和Page Down)
bindkey '^[[H' beginning-of-line
bindkey '^[[F' end-of-line
Prompt美化#
我不需要git状态显示、conda环境显示等复杂的功能,我在vscode中使用git、切换环境,所以对我而言终端的prompt只需要显示个路径就够了
效果:
setopt prompt_subst
local reset='%f'
PROMPT=$'\n''%F{blue}%~%{${reset}%}'$'\n''%F{green}➜${reset} '
环境变量配置#
有很多软件在家目录下乱拉屎,配置XDG Base Directory后可以好一点
参考arch wiki: XDG Base Directory
# XDG Base Directory Specification
export XDG_CONFIG_HOME="$HOME/.config"
export XDG_CACHE_HOME="$HOME/.cache"
export XDG_DATA_HOME="$HOME/.local/share"
export XDG_STATE_HOME="$HOME/.local/state"
# XDG Base Directory Specification end
放在.zprofile中
更改分页器为most#
默认less是没有颜色的,切换为most
brew install most
export PAGER="most"
Conda配置#
我只需要一个全局能用的python环境
anaconda太大了,我用miniconda。至于miniforge、conda-forge那堆的区别参考Bilibili: 15分钟彻底搞懂!Anaconda Miniconda conda-forge miniforge Mamba
如果需要用forge源的话在miniconda里也可以配置开启
配置镜像源的教程网上很多,在此不再赘述,参考MirrorZ Help: Anaconda 软件仓库镜像使用帮助
来说点大家不知道的
正常装完conda后会在zshrc中写入conda初始化的命令,会在prompt前加一个(base)的提示,如果你像我一样不用base环境、只创建了一个额外的环境然后把所有需要的工具都装进去的话,你可以把这个提示关掉
conda config --set changeps1 false
也可以让conda不默认激活base环境
conda config --set auto_activate_base false
另外可以在zshrc中添加一条 自动激活你的环境
另外用了conda之后最好都用conda管理package,不要同时再使用pip、uv、poetry等工具否则会混乱(好像是这样的,欢迎纠正)
VSCode 配置#
使用官网下载的zip文件安装的code是没有注册环境变量的,可以在命令面板中启用
然后就可以在终端里调用code .命令在当前目录打开vscode
我用的GitHub Theme中的GitHub Dark Default主题,文件图标是Material Icon Theme,产品图标默认
装了GitLens来帮助管理git,其他语言环境大家看需求装settings.json
"security.workspace.trust.untrustedFiles": "open",
"security.workspace.trust.enabled": false,
禁用工作区信任功能(对我来说没啥用)
"editor.smoothScrolling": true,
"workbench.list.smoothScrolling": true,
"terminal.integrated.smoothScrolling": true,
启用平滑滚动(不过对于触控板用户来说区别不大,鼠标的话可以装Mac Mouse Fix实现平滑滚动)
"editor.cursorSmoothCaretAnimation": "on",
"editor.cursorBlinking": "smooth",
启用光标的动画和闪烁
"files.autoSave": "onWindowChange",
"editor.formatOnSave": true,
"editor.formatOnType": true,
"editor.autoIndentOnPaste": true,
自动保存、自动格式化
Windows虚拟机#
Parallels Desktop唯一真神

如今Windows on arm的兼容性已经可以了,虚拟机挂在后台也不怎么影响续航
Linux环境、Docker、K8s#
OrbStack,相当好用
和WSL类似,由于有做pwn题的需求所以装了x64的(使用Rosetta转译)
配置了blackarch源
理论上arch的arm生态也不错,没试过
其他应用推荐#
打游戏#
有原生的就玩原生支持的(夸一下2077的HDR真的爽,天亮了)
其他的用CrossOver转译,基于wine的封装,兼容性参考Apple Gaming Wiki、PC Gaming Wiki、ProtonDB,基本上Steam Deck能玩的 Mac就能玩
贴几张黑悟空的跑分

手柄也是可以正常使用的(注意尽量别开Steam Input否则延迟会很高)
Raycast#
Raycast秒杀Launchpad和Spotlight(另外喷一下MacOS 26 Tahoe的启动台)
启动应用(支持拼音缩写)
剪切板历史(这个是真好用)
计算器

我配置了快捷键为Command+Space,取代Spotlight,很好用
类似:utools
Paragon NTFS#
挂载NTFS硬盘读写的,同类的还有Tuxera、ntfstool,但感觉这个最稳定
另外可以在wine配置里把硬盘上的一个文件夹映射为驱动器,然后设置为Steam游戏库
实现Mac游戏库扩容✅
不过如果没有兼容性需求的话,还是把移动硬盘格式化成APFS方便,u盘就用exFat,毕竟多装一个内核扩展挺麻烦的
Mac Mouse Fix#
Mac Mouse Fix
字面意思,上图

具体介绍看官网
batt#
batt
限制充电上限的,很轻量很好用,可以保护电池寿命
aldente收费,battery目前没适配macOS 26,现在用batt是最好的选择
Input Source Pro#
Input Source Pro
为不同软件配置默认输入法的(比如当打开终端时自动切换英文输入法,离开后还原)
Pixpin#
Pixpin
截图用的,免费,有编辑 批注 长截图 贴图 取色器,可以录屏并转gif,用着顺手,但是目前偶尔遇到内存溢出的问题,等修复or替代品
竞品:snipaste、xnip、etc.
DockDoor#
DockDoor
Dock栏窗口预览(类似Windows的逻辑)、Cmd+Tab切换和预览窗口
Hidden Bar#
Hidden Bar
折叠菜单栏图标的,虽然很久没更新了但是能用

点一下箭头就折叠/展开
之前测试ice会内存泄漏,于是用hidden bar。还有个bartender过于古老了而且付费。