捕获终端输出
捕获是把终端输出变成可复用文本的第一步。选择与你的需求匹配的最轻路径即可。
选择捕获方式
Section titled “选择捕获方式”| 场景 | 推荐命令 | 保留命令元数据? |
|---|---|---|
| 查看已有命令管道的输出 | command 2>&1 | sivtr | 否 |
让 sivtr 执行一次命令 | sivtr run command | 部分保留本次运行信息 |
| 浏览当前 shell 记录的工作 | sivtr import | 是,需要 shell 集成 |
| 复制最近命令块 | sivtr copy out | 是,需要 shell 集成 |
| 搜索保存过的输出历史 | sivtr history search "query" | 是,针对保存的捕获 |
Pipe mode
Section titled “Pipe mode”Pipe mode 读取 stdin 并打开结果。
ls -la | sivtrcargo build 2>&1 | sivtrrg "TODO" . | sivtr适合在这些情况下使用:
- 命令已经存在于你的 shell 历史里;
- 你希望保持普通 shell 的管道和重定向行为;
- 不需要
sivtr知道原始命令是什么。
如果重要输出写到了 stderr,把 stderr 重定向到 stdout:
cargo test 2>&1 | sivtrRun mode
Section titled “Run mode”Run mode 由 sivtr 执行命令:
sivtr run cargo testsivtr run git status --short适合在这些情况下使用:
- 你希望
sivtr执行并捕获单个命令; - 你希望浏览前看到退出状态;
- 你不想手动处理 shell 重定向。
Run mode 会合并捕获 stdout 和 stderr。如果命令没有输出,sivtr 会提示没有捕获内容后退出。
Shell session import
Section titled “Shell session import”Shell 集成会持续记录结构化命令条目。安装后打开当前 session log:
sivtr import当你已经正常工作了一段时间,之后想把累积的 session 当成一个工作区浏览时,这很有用。
安装 shell 集成:
sivtr init powershellsivtr init bashsivtr init zshsivtr init nushell安装后重启 shell。
History capture
Section titled “History capture”当 [history].auto_save 启用时,捕获输出会保存到本地 history。稍后可以搜索:
sivtr history search "panic"sivtr history show 42History 和当前 shell session log 是两套东西:history 是更长期的 SQLite 存储,session log 是按 shell 进程记录的近期结构化命令块。