SuperAPI AI 工具集

tmux-for-interactive-commands

编程与开发

查看项目

更新于 10-15 20:09

技能介绍

用途:当需要以程序化方式驱动交互式 CLI 工具(vim、nano、Python/Node REPL、git rebase -i、git add -p、htop 等需要真实终端或 readline 的命令)时,标准 bash 无法控制,可用 tmux 的分离会话配合 send-keys 与 capture-pane 实现。

主要能力:创建分离会话、发送按键(含 Enter、Escape、C-c、方向键等 tmux 键名)、捕获当前屏幕内容、列出与终止会话。

必要用法: 启动:tmux new-session -d -s <name> <command> 发送输入:tmux send-keys -t <name> 'text' Enter 捕获输出:tmux capture-pane -t <name> -p 终止:tmux kill-session -t <name> 列出:tmux list-sessions 指定工作目录:tmux new-session -d -s git_session -c /path/to/repo git rebase -i HEAD~3

基本流程:创建分离会话后等待 100-500ms 初始化,再发送输入并捕获屏幕,重复操作,最后终止会话。资料还提供 scripts/tmux-wrapper.sh 封装脚本,支持 start、send、capture、stop 子命令。

限制与注意:不适用于简单非交互命令、可通过 stdin 重定向输入的命令或一次性命令;常见错误包括会话启动后未等待即捕获、忘记单独发送 Enter、误用 \n 而非 Enter 键名、未清理会话导致残留。资料未提供安装方式、平台要求与收费信息。