帮助你通过 tmux 控制需实时交互的命令行会话,安全运行编辑器、REPL 和交互式 Git 操作。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "using-tmux-for-interactive-commands" 技能: 1. 下载 https://raw.githubusercontent.com/obra/superpowers-lab/main/skills/using-tmux-for-interactive-commands/SKILL.md 2. 保存为 ~/.claude/skills/using-tmux-for-interactive-commands/SKILL.md 3. 装好后重载技能,告诉我可以用了
请告诉我如何用 tmux 启动一个 detached 会话,在其中运行 git rebase -i HEAD~5,并通过 send-keys 完成保存和退出操作。请给出完整命令步骤和注意事项。
一组可执行的 tmux 与 git 命令,用于创建会话、启动交互式变基并完成后续按键控制。
我需要在后台 tmux 会话中启动 Python REPL,发送几行 Python 代码并读取输出。请给我一套步骤,包括如何创建会话、发送命令和查看结果。
说明如何在 tmux 中运行 Python REPL、注入输入内容,并捕获或查看终端输出结果。
请演示如何使用 tmux 在分离会话里打开 vim 编辑配置文件,并通过 send-keys 进入插入模式、写入内容、保存退出。
一套针对 Vim 的 tmux 控制流程,涵盖启动、按键发送、保存退出和常见风险提示。
Interactive CLI tools (vim, interactive git rebase, REPLs, etc.) cannot be controlled through standard bash because they require a real terminal. tmux provides detached sessions that can be controlled programmatically via send-keys and capture-pane.
Use tmux when:
git rebase -i, git add -p)Don't use for:
| Task | Command |
|---|---|
| Start session | tmux new-session -d -s <name> <command> |
| Send input | tmux send-keys -t <name> 'text' Enter |
| Capture output | tmux capture-pane -t <name> -p |
| Stop session | tmux kill-session -t <name> |
| List sessions | tmux list-sessions |
# This hangs because vim expects interactive terminal
bash -c "vim file.txt"
# Create detached tmux session
tmux new-session -d -s edit_session vim file.txt
# Send commands (Enter, Escape are tmux key names)
tmux send-keys -t edit_session 'i' 'Hello World' Escape ':wq' Enter
# Capture what's on screen
tmux capture-pane -t edit_session -p
# Clean up
tmux kill-session -t edit_session
send-keys (can send special keys like Enter, Escape)capture-pane -p to see current screen stateCommon tmux key names:
Enter - Return/newlineEscape - ESC keyC-c - Ctrl+CC-x - Ctrl+XUp, Down, Left, Right - Arrow keysSpace - Space barBSpace - BackspaceSpecify working directory when creating session:
tmux new-session -d -s git_session -c /path/to/repo git rebase -i HEAD~3
For easier use, see /home/jesse/git/interactive-command/tmux-wrapper.sh:
# Start session
/path/to/tmux-wrapper.sh start <session-name> <command> [args...]
# Send input
/path/to/tmux-wrapper.sh send <session-name> 'text' Enter
# Capture current state
/path/to/tmux-wrapper.sh capture <session-name>
# Stop
/path/to/tmux-wrapper.sh stop <session-name>
tmux new-session -d -s python python3 -i
tmux send-keys -t python 'import math' Enter
tmux send-keys -t python 'print(math.pi)' Enter
tmux capture-pane -t python -p # See output
tmux kill-session -t python
tmux new-session -d -s vim vim /tmp/file.txt
sleep 0.3 # Wait for vim to start
tmux send-keys -t vim 'i' 'New content' Escape ':wq' Enter
# File is now saved
tmux new-session -d -s rebase -c /repo/path git rebase -i HEAD~3
sleep 0.5
tmux capture-pane -t rebase -p # See rebase editor
# Send commands to modify rebase instructions
tmux send-keys -t rebase 'Down' 'Home' 'squash' Escape
tmux send-keys -t rebase ':wq' Enter
Problem: Capturing immediately after new-session shows blank screen
Fix: Add brief sleep (100-500ms) before first capture
tmux new-session -d -s sess command
sleep 0.3 # Let command initialize
tmux capture-pane -t sess -p
Problem: Commands typed but not executed
Fix: Explicitly send Enter
…
按需通过 mcp CLI 调用 MCP 服务,发现工具与资源而不预加载上下文
帮助你审计代码库,找出语义重复但命名或实现不同的函数
帮助用户在 Docker 中创建、管理并通过 SSH 连接无头 Windows 11 虚拟机。
帮助你撰写不过时的代码注释,聚焦做什么与为什么而非时序背景。
先用伪代码梳理方案与迭代思路,再高效转成可执行代码。
帮助开发者用早返回或表驱动方式简化嵌套条件分支,提升代码可读性。
帮助你控制 tmux 会话与窗格,自动发送命令、抓取输出并监控提示符
通过 SSH 安全执行本地与远程命令,并管理会话和环境变量。
通过 MCP 管理 SSH 交互会话,执行命令并控制会话生命周期。
帮助你使用 Git worktree 创建相互隔离的并行工作区。
帮助用户为当前会话生成或更新运行命令,便于一键启动与调试项目。
提供终端控制、文件搜索与差异编辑,帮助高效完成本地开发运维任务