You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在iTerm2中自动捕获上一条命令的输出内容?

实现iTerm2快捷键复制上一条命令及完整输出

核心思路

利用iTerm2官方Python API读取当前会话的命令历史,提取上一条命令及其对应输出,再通过系统工具复制到剪贴板,最后绑定自定义快捷键实现一键操作。

步骤1:编写Python脚本

创建适配iTerm2 API的Python脚本,用于提取并复制目标内容:

import iterm2
import subprocess

async def main(connection):
    app = await iterm2.async_get_app(connection)
    current_window = app.current_window
    if not current_window:
        return
    
    current_session = current_window.current_tab.current_session
    if not current_session:
        return

    # 读取会话历史,反向查找第一条带命令的条目
    history_entries = await current_session.async_get_history()
    target_content = None
    for entry in reversed(history_entries):
        if entry.command:
            # 拼接命令本身和对应输出
            target_content = f"{entry.command}\n{entry.output}"
            break

    if target_content:
        # 调用macOS剪贴板工具pbcopy完成复制
        subprocess.run(["pbcopy"], input=target_content.encode("utf-8"))

iterm2.run_until_complete(main)

步骤2:配置iTerm2脚本与快捷键

  1. 打开iTerm2,进入偏好设置 > 脚本 > 新建脚本,选择Python类型,将上述代码粘贴后保存为CopyLastCommandAndOutput.py
  2. 进入偏好设置 > 按键,点击+添加新快捷键绑定
  3. 在动作下拉菜单中选择调用脚本,选中刚才保存的脚本文件
  4. 设置你偏好的快捷键(例如Cmd+Shift+Alt+C,避免与默认快捷键冲突)

注意事项

  • 脚本依赖iTerm2的Python API,首次打开脚本面板会自动配置运行环境
  • pbcopy是macOS原生工具,无需额外安装;Linux系统可替换为xclip等对应剪贴板命令
  • 若需处理多行命令或复杂输出,可调整历史条目的筛选逻辑,比如通过提示符特征精准定位命令起始行

内容的提问来源于stack exchange,提问作者StevieD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 06:59:53