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

主要配置如下






主题是修改了背景色的Dracula主题(PS:Dracula主题诞生背后有一段感人的故事,在The origin story查看)

底栏

Snippet和Action功能可以用来干很多有意思的事情

关于Homebrew
mac人手必装软件,但是我建议不要用brew安装图形化的软件(例如微信qq等),否则它们的更新和卸载会让你很头疼
贴几条清理brew的命令(使用前先审计!)
1# cleanup
2brew cleanup --prune=all
3brew cleanup --scrub
4rm -rf "$(brew --cache)"
5
6# query manual installed
7brew list --installed-on-request
8brew deps --installed --tree
Zsh 配置
不用oh-my-zsh,又大又笨重,自己配置即可
命令补全类
效果:
命令补全(输入se按<kbd>Tab</kbd>)

命令纠错(输入braw按<kbd>Tab</kbd>)


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


.zshrc
1autoload -Uz compinit && compinit
2setopt MENU_COMPLETE AUTO_MENU
3
4zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
5zstyle ':completion:*' menu select
6zstyle ':completion:*:matches' group 'yes'
7zstyle ':completion:*' file-sort modification
8zstyle ':completion:*' squeeze-slashes true
9zstyle ':completion:*' completer _complete _approximate _extensions
10zstyle ':completion:*' group-name ''
11zstyle ':completion:*:*:*:*:corrections' format '%F{yellow}-- %d (errors: %e) --%f'
12zstyle ':completion:*:*:*:*:descriptions' format '%F{blue}-- %D %d --%f'
13zstyle ':completion:*:*:*:*:messages' format ' %F{purple} -- %d --%f'
14zstyle ':completion:*:*:*:*:warnings' format ' %F{red}-- no matches found --%f'
解释:
1autoload -Uz compinit && compinit
2# 加载 Zsh 的补全系统
3setopt MENU_COMPLETE AUTO_MENU
4# 按 Tab 时直接进入补全菜单,而不是列出所有选项
5zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
6# 补全匹配忽略大小写、允许在任意位置匹配
7zstyle ':completion:*' menu select
8# 使用可选择菜单显示补全选项
9zstyle ':completion:*:matches' group 'yes'
10zstyle ':completion:*' group-name ''
11# 对匹配项进行分组,但不显示组名
12zstyle ':completion:*' file-sort modification
13# 文件补全时按修改时间排序
14zstyle ':completion:*' squeeze-slashes true
15# 压缩路径中的多个斜杠为一个
16zstyle ':completion:*' completer _complete _approximate _extensions
17# 设置补全器的执行顺序:
18# _complete:普通补全
19# _approximate:近似补全(拼写纠错)
20# _extensions:文件扩展名补全
21zstyle ':completion:*:*:*:*:corrections' format '%F{yellow}-- %d (errors: %e) --%f'
22# 纠错信息的黄色格式化输出
23zstyle ':completion:*:*:*:*:descriptions' format '%F{blue}-- %D %d --%f'
24# 描述信息的蓝色格式化输出
25zstyle ':completion:*:*:*:*:messages' format ' %F{purple} -- %d --%f'
26# 消息的紫色格式化输出
27zstyle ':completion:*:*:*:*:warnings' format ' %F{red}-- no matches found --%f'
28# 警告信息的红色格式化输出
2025.12.13 补充:
可以参考grml的默认zsh补全配置https://github.com/grml/grml-etc-core/blob/d841ed8a2774b3928b5165609a6733f0b747c482/etc/zsh/zshrc#L588
另外安装zsh-syntax-highlighting插件,提供命令的高亮显示
zsh-autosuggestions我不喜欢,不太聪明,没装。
都可以用brew安装,按照提示修改zshrc即可
1# source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh
2source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
ls命令替换
使用过eza和lsd,由于eza不能对列进行排序(我喜欢文件名在第一列),于是选择lsd
效果:

1alias ls="lsd -la --date relative --classify"
用法参考lsd仓库
{{< github repo="lsd-rs/lsd" showThumbnail=false >}}
<kbd>Home</kbd>和<kbd>End</kbd>跳转命令头尾
oh-my-zsh是自带这个特性的,不知道为什么zsh默认没有,当时还以为是iTerm2的问题。
个人平时习惯<kbd>fn</kbd>+<kbd>left</kbd>/<kbd>right</kbd>(在macOS下映射为<kbd>Home</kbd>和<kbd>End</kbd>)跳命令头尾,另外还有<kbd>fn</kbd>+<kbd>up</kbd>/<kbd>down</kbd>(即<kbd>Page Up</kbd>和<kbd>Page Down</kbd>)
1bindkey '^[[H' beginning-of-line
2bindkey '^[[F' end-of-line
Prompt美化
我不需要git状态显示、conda环境显示等复杂的功能,我在vscode中使用git、切换环境,所以对我而言终端的prompt只需要显示个路径就够了
效果:

1setopt prompt_subst
2local reset='%f'
3PROMPT=$'\n''%F{blue}%~%{${reset}%}'$'\n''%F{green}➜${reset} '
环境变量配置
有很多软件在家目录下乱拉屎,配置XDG Base Directory后可以好一点
参考arch wiki: XDG Base Directory
1# XDG Base Directory Specification
2export XDG_CONFIG_HOME="$HOME/.config"
3export XDG_CACHE_HOME="$HOME/.cache"
4export XDG_DATA_HOME="$HOME/.local/share"
5export XDG_STATE_HOME="$HOME/.local/state"
6# XDG Base Directory Specification end
放在.zprofile中
更改分页器为most
默认less是没有颜色的,切换为most
1brew install most
2export 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环境、只创建了一个额外的环境然后把所有需要的工具都装进去的话,你可以把这个提示关掉
1conda config --set changeps1 false
也可以让conda不默认激活base环境
1conda 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
1"security.workspace.trust.untrustedFiles": "open",
2"security.workspace.trust.enabled": false,
禁用工作区信任功能(对我来说没啥用)
1"editor.smoothScrolling": true,
2"workbench.list.smoothScrolling": true,
3"terminal.integrated.smoothScrolling": true,
启用平滑滚动(不过对于触控板用户来说区别不大,鼠标的话可以装Mac Mouse Fix实现平滑滚动)
1"editor.cursorSmoothCaretAnimation": "on",
2"editor.cursorBlinking": "smooth",
启用光标的动画和闪烁
1"files.autoSave": "onWindowChange",
2"editor.formatOnSave": true,
3"editor.formatOnType": true,
4"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的启动台)
启动应用(支持拼音缩写)

剪切板历史(这个是真好用)

计算器


我配置了快捷键为<kbd>Command</kbd>+<kbd>Space</kbd>,取代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过于古老了而且付费。