在 macos 的 zsh 环境中无法直接配置 zsh 快捷键打开编辑器,但可通过三种方式实现:1. 在 ~/.zshrc 中定义 alias(如 alias code='open -a "visual studio code" .')并配合终端快捷键或 zsh-autosuggestions;2. 使用 iterm2 的 key bindings 发送 code 实现全局热键;3. 通过“快捷指令”创建服务并绑定系统级快捷键,需终端窗口聚焦。
在 macos 的 zsh 环境中,不能直接“配置 zsh 快捷键”来一键打开编辑器(比如 vs code 或 vim),因为 zsh 本身不处理全局键盘快捷键——那是系统或终端应用(如 terminal.app 或 iterm2)的职责。但你可以通过两种**实用、可靠、广泛采用的方式**实现「按一个组合键,立刻在当前目录下用编辑器打开」的效果:
方式一:终端内绑定命令别名 + 快捷键触发(推荐)
这是最轻量、最可控的做法。核心思路是:定义一个别名(如 code 或 ed),然后用终端快捷键快速输入并执行它。
- 编辑 ~/.zshrc,添加一行(以 VS Code 为例):
alias code='open -a "Visual Studio Code" .' - 如果常用 Vim,可加:
alias vimhere='vim .' - 保存后运行
source ~/.zshrc生效 - 之后在任意目录下,只需输入
code回车,就自动用 VS Code 打开当前文件夹
? 小技巧:配合 zsh 插件 zsh-autosuggestions,输 c 后按 → 键就能自动补全为 code,接近“一键”体验。
方式二:用 iTerm2 的“触发器”或“热键窗口”实现真快捷键
iTerm2 支持自定义全局热键(即使焦点不在终端也能响应),适合追求“真正一键”的用户:
- 打开 iTerm2 → Preferences → Keys → Key Bindings
- 点击 + Add,选择 Send Text
- 设置快捷键(例如
Cmd+Shift+E),在下方文本框填入:code<enter></enter>(注意<enter></enter>表示回车) - 保存后,无论当前在哪个 App,只要按下这个组合键,iTerm2 就会自动激活、执行
code命令
⚠️ 注意:该快捷键只对 iTerm2 有效;原生 Terminal.app 不支持此类全局热键绑定。
方式三:系统级服务(适用于所有终端)
如果你坚持用原生 Terminal.app,又想要跨 App 的快捷键,可用 macOS 自带的“快捷指令”+“服务”机制:
- 打开“快捷指令”App,新建快捷指令,添加操作:
运行 Shell 脚本 → 输入:open -a "Visual Studio Code" "$(pwd)" - 保存为“在 VS Code 中打开当前文件夹”,并勾选“在菜单栏中显示”
- 进入 系统设置 → 键盘 → 快捷键 → 服务,找到刚建的服务,为其分配快捷键(如
Cmd+Opt+O) - 之后在 Terminal 或 iTerm2 中,只要确保终端窗口处于焦点状态,按该快捷键即可触发
这种方式不依赖 zsh 配置,但需要终端窗口获得焦点,不如 iTerm2 方案灵活。











