捕获终端输出
捕获是把终端输出变成可复用文本的第一步。选择与你的需求匹配的最轻路径即可。
选择捕获方式
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 进程记录的近期结构化命令块。