跳转到内容

复制命令块

sivtr copy 读取 shell 集成创建的结构化 shell session log,不需要打开 browser。

如果复制命令块时没有数据,先安装 shell 集成:

Terminal window
sivtr init powershell
# 或:sivtr init bash / zsh / nushell

安装后重启 shell。

Terminal window
sivtr copy
sivtr copy in
sivtr copy out
sivtr copy cmd
命令复制内容
sivtr copy输入加输出
sivtr copy in只复制输入,默认包含 prompt
sivtr copy out只复制输出
sivtr copy cmd只复制裸命令

别名:

别名完整命令
sivtr csivtr copy
sivtr cisivtr copy in
sivtr cosivtr copy out
sivtr ccsivtr copy cmd

Selector 相对最新命令块计数:

Terminal window
sivtr copy 1
sivtr copy out 2
sivtr copy in 2..4

1 是最新块,2 是上一个块,2..4 选择多个最近块。共享语法见 Selector 和 Filter

--print 查看复制了什么:

Terminal window
sivtr copy out --print

文本仍然会被复制到剪贴板。

如果希望保留彩色终端序列,使用 --ansi

Terminal window
sivtr copy out --ansi

只有当 session entry 保存了 ANSI 输出时,这个选项才有实际效果。

输入复制模式默认保留原 prompt。用 --prompt 覆盖:

Terminal window
sivtr copy in --prompt ":"
sivtr copy --prompt ">"

如果 prompt 结尾没有空白,sivtr 会在命令前插入一个空格。

Filter 在选中块组装完成后运行。

Terminal window
sivtr copy out --regex panic
sivtr copy out --lines 10:20
sivtr copy out --lines 1,3,8:12

同时设置时,--regex 先运行,--lines 再作用于过滤后的结果。

打开交互式 picker:

Terminal window
sivtr copy --pick
sivtr copy out --pick
sivtr copy cmd --pick

常用 picker 按键:

按键动作
j / k移动
Space切换当前条目
v标记范围锚点
a切换全选
:为下一次复制设置临时行过滤
p切换预览
t打开 Vim 风格 full view
Enter确认
Backspace编辑待应用的行过滤
Esc取消

Vim 风格 full view 支持 [[ / ]] 跳转块,myy / myi / myo / myc 复制,mvv / mvi / mvo 选择。