深色模式
iTerm2 常用操作
概述
iTerm2 是 macOS 上很常见的终端工具。它和系统自带 Terminal 的差别,不在于“能不能执行命令”,而在于窗口组织、搜索回看、复制粘贴、历史管理和交互细节都更顺手。命令还是那些命令,少的是反复和折腾。
日常使用里,最常碰到的需求通常不是高级脚本能力,而是开多个会话、左右分屏、快速找回刚才滚过去的输出、把常用目录开成固定布局,以及少踩终端复制粘贴的坑。这篇文章主要写这些内容。
安装
iTerm2 可以直接在官网下载安装,也可以通过 Homebrew 安装。
官网:
使用 Homebrew:
sh
brew install --cask iterm2安装完成后,直接从启动台或应用程序目录打开即可。
先做几项基础设置
第一次打开 iTerm2,建议先看一遍 Settings。不需要把每个选项都调一遍,但有几项值得尽早确认。
设置主题和字体
在 Settings > Profiles > Colors 可以切换或导入配色主题,在 Settings > Profiles > Text 可以设置终端字体。
如果平时会写代码、看日志,建议优先处理两件事:
- 选一个对比度稳定的主题,避免纯黑背景加高饱和颜色,眼睛容易先下班。
- 选一款等宽字体,并确认中文显示没有错位。
调整滚动缓冲区
在 Settings > Profiles > Terminal 可以调整 Scrollback Buffer。日志较多时,适当增大历史保留行数会更方便回看输出。
让复制粘贴更符合习惯
iTerm2 默认会尽量遵循终端行为,不完全等同于普通文本编辑器。常见做法是记住下面几件事:
- 复制一般用
Command + C,前提是先选中文本。 - 粘贴一般用
Command + V。 - 如果需要粘贴多行命令,
iTerm2会提示确认,这个保护很有用,别急着关。
窗口、标签页和分屏
这部分是 iTerm2 最常用的能力之一。
新建窗口和标签页
Command + N:新建窗口Command + T:新建标签页Command + W:关闭当前窗口或标签页
适合把不同项目放在不同标签页里,把明显无关的工作放到新窗口。这样切换时不会把一堆 SSH、构建和日志混在一起。
垂直分屏和水平分屏
在菜单 Shell > Split Pane Vertically with Current Profile 和 Shell > Split Pane Horizontally with Current Profile 可以分屏。
如果已经习惯快捷键,也可以直接使用默认组合:
Command + D:垂直分屏Command + Shift + D:水平分屏
一个很常见的布局是:
- 左边跑开发服务
- 右上看日志
- 右下执行临时命令
这种场景下,iTerm2 比反复切标签页更直接。
在分屏之间切换
分屏一多,鼠标点来点去就开始烦了。iTerm2 支持在 pane 之间快速切换,默认可以用 Command + Option + 方向键 在相邻窗格之间移动。
如果默认键位和系统或输入法冲突,可以在 Settings > Keys 里自定义。
保存常用布局
如果每天都要开固定几组终端,例如前端服务、后端服务、数据库连接和日志窗口,可以使用 Window Arrangement 保存布局。
大致流程:
- 先把窗口和分屏摆好。
- 在菜单中保存当前 arrangement。
- 下次启动时直接恢复。
这个功能很适合本地开发环境,尤其是多服务项目。
搜索、回看和复制
终端真正浪费时间的地方,往往不是敲命令,而是“刚才那句输出去哪了”。
当前会话搜索
使用 Command + F 可以在当前终端内容里搜索。查报错、找端口号、定位某条日志时都很顺手。
如果输出很多,建议配合更具体的关键词,比如异常类名、接口路径、状态码,而不是只搜 error。
Instant Replay
iTerm2 有一个很实用的功能叫 Instant Replay,可以回看终端之前的画面状态。遇到日志刷太快、没来得及复制、界面一闪而过的情况,很好用。
它更像终端录像回放,不是单纯的文本历史。对全屏命令行程序也有帮助。
Paste History
如果经常复制多段命令、路径、环境变量,Paste History 会比反复切回笔记应用更省事。之前复制过的内容可以重新挑出来粘贴,不用再找一遍。
常用的高频操作
直接打开最近目录
如果 Shell 本身配好了目录跳转工具,比如 zoxide、autojump 或 shell history,iTerm2 会把它们用得更顺手,因为多标签页和分屏切换更快。但即使不装这些工具,至少应该养成给项目目录起清晰路径的习惯,不然终端再强也救不了一串 ~/work/tmp/test2/final-final。
使用 Profiles 区分不同场景
iTerm2 的 Profiles 可以理解成一组终端配置模板。不同 profile 可以配置不同的:
- 字体和字号
- 颜色主题
- 启动命令
- 工作目录
- 窗口标题
适合把本地开发、线上服务器、数据库维护这几类场景分开。尤其是线上环境,最好配一个明显不同的背景色,能少打一条危险命令就值回票价。
给服务器会话单独配颜色
这是一个很朴素但很有效的习惯:
- 本地终端保持默认主题
- 测试环境用偏黄或偏蓝
- 生产环境用明显的红色或橙色
颜色本身不解决权限问题,但能降低误操作概率。
使用 Hotkey Window
iTerm2 支持把终端设成一个随时呼出的热键窗口,适合当成全局命令面板来用。需要时拉下来,执行完再收起,不必长期占一个桌面位置。
这种用法比较适合:
- 临时执行
git命令 - 查文件路径
- 跑一次短命令
- 快速 SSH 到某台机器
Shell Integration
iTerm2 的 Shell Integration 很值得装。装完后,终端对每条命令的开始、结束、状态码、目录变化感知会更完整,一些跳转和标记能力也会更好用。
安装入口在菜单中可以直接找到,一般会给出对应 shell 的安装脚本。常见 shell 比如 zsh、bash 都可以集成。
装好之后,比较常见的收益有这些:
- 更容易定位上一条命令的输出范围
- 命令执行成功或失败更清楚
- 在长输出里跳转更方便
- 某些 UI 功能会更完整
如果平时大量看构建日志或测试输出,这个功能值得开。
发送文本和广播输入
当多个 pane 里连着几台机器,或者要在相同目录执行同一组命令时,可以使用广播输入,把同一段文本同时发到多个 pane。
这个功能适合批量操作,但风险也很直接:
- 容易把测试命令一起打到线上
- 容易忘记当前哪些 pane 正在接收广播
所以只建议在明确可控的场景下使用,比如多台测试机执行相同查询命令。涉及删除、重启、迁移之类的命令时,最好一台一台敲。
鼠标和选择行为
终端里最容易产生误会的两个动作是“选中文本”和“点开链接”。
iTerm2 对 URL、文件路径、某些上下文内容有较好的识别能力。看到链接时,可以直接配合 Command 点击打开。
另外还有几个细节很常用:
- 双击选中一个词
- 三击选中一整行
- 拖动选择时可以跨多行复制
日志排查时,这些比手工慢慢框选省时间得多。
处理长输出和日志
看大段日志时,建议养成下面几个习惯:
- 常驻一个专门看日志的 pane,不和命令输入混用
- 用搜索代替纯手动滚动
- 输出特别大时,优先把结果重定向到文件,再用
less、tail或编辑器查看
终端不是不能扛日志,但把几十万行输出直接堆在一个 pane 里,再指望肉眼回滚,属于给自己加班。
与 tmux 的取舍
iTerm2 自己已经提供了不错的标签页、分屏和窗口管理,所以本地开发场景里,不一定非要再套一层 tmux。
但如果有这些需求,tmux 依然很有价值:
- 远程会话断线后继续保留
- 服务器上长期运行任务
- 跨机器保持一致工作流
简单说,iTerm2 更像强大的终端外壳,tmux 更像会话管理器。两者可以配合,不冲突。
适合优先记住的功能
刚开始用 iTerm2,不需要把所有功能一次学完。优先把这些用起来,效率提升就已经很明显:
- 标签页和分屏
Command + F搜索输出Profiles区分本地和服务器- Window Arrangement 保存固定布局
- Shell Integration
- Hotkey Window
