跳到主内容
智客 ZICQ

技能库 智客分类:Agent 工作流 cmux-keyboard-shortcuts

Cmux 键盘快捷键

引导并应用 cmux 键盘快捷键定制 。 当用户要求自定义,再处理,拆分,重置,审核,或创建cmux的快捷模板时使用,包括tmux风格,Vim风格,终端第一,浏览器重置,iTerminal/terminal相类似,或代理行车布局.

5938 安装量

官方网址:skills.sh

技能介绍

先看中文介绍;官方 description 原文单独保留,不改写 SKILL.md。

做什么

指导和应用 cmux 键盘快捷键

何时用

用户请求自定义、 重置、 未拆装、 重置、 审核或创建 cmux 快捷模板, 包括 tmux 风格、 Vim 风格、 终端先行、 浏览器重置、 iTerm/ Terminal 类似, 或代理行版

代理如何加载

按 Agent Skills 渐进披露:启动时只加载 name 与 description(约 100 token);任务匹配后才读入整份 SKILL.md 正文;scripts/、references/、assets/ 仅在需要时再读。 本文件正文结构:cmux-keyboard-shortcuts、Contributor rule: adding a new shortcut、Prerequisites、Shortcut model、Workflow、Preset templates。 其中含规范建议的小节:分步指令。

文件分析

文件分析:除 SKILL.md 外,正文引用了 scripts/cmux-settings、references/shortcut-actions.md,属于带资源的技能包,这些文件按需再读。

官方 description(原文)

Guide and apply cmux keyboard shortcut customization. Use when the user asks to customize, rebind, unbind, reset, audit, or create shortcut templates for cmux, including tmux-style, Vim-style, terminal-first, browser-heavy, iTerm/Terminal-like, or agent-triage layouts.

cmux-keyboard-shortcutsContributor rule: adding a new shortcutPrerequisitesShortcut modelWorkflowPreset templatesTmux PrefixmacOS Terminal/iTerm RestoreVim Pane NavigationAgent TriageWorkspace And Surface LanesBrowser-Style Terminal Navigation

来源分类:skills.sh agent-skill

SKILL.md 与 Agent 调用

官方规范 ↗
name
cmux-keyboard-shortcuts
description
Guide and apply cmux keyboard shortcut customization. Use when the user asks to customize, rebind, unbind, reset, audit, or create shortcut templates for cmux, including tmux-style, Vim-style, terminal-first, browser-heavy, iTerm/Terminal-like, or agent-triage layouts.
  1. 发现技能客户端向 Agent 提供名称与描述目录。
  2. 匹配与调用用户指定或任务匹配后,载入 SKILL.md 指令。
  3. 按需加载按步骤读取参考文档、使用脚本与素材。
指令中引用的文件 · 2
  • scripts/cmux-settings
  • references/shortcut-actions.md

以下路径提取自原文;文件是否齐全请以来源仓库中的完整目录为准。

具体调用语法与可用工具以目标 Agent 客户端为准。 查看调用机制说明 ↗

安装这个技能

Skills CLI ↗

先选择目标 Agent 和安装范围,保留技能包的附属文件,安装后检查客户端能否发现该技能。

该技能引用了附属文件,请从来源获取完整目录;仅复制 SKILL.md 可能缺少依赖。

交给 Agent 安装

复制安装指令给支持 Agent Skills 的代理,确认其中的目标目录与客户端匹配。

把 Agent Skill「cmux-keyboard-shortcuts」安装到我的项目:SKILL.md 原文与官方 description 见 https://zicq.com/zh/skills/skl-4de982dc6bfb114f-Cmux-%E9%94%AE%E7%9B%98%E5%BF%AB%E6%8D%B7%E9%94%AE.html
请存为 .cursor/skills/cmux-keyboard-shortcuts/SKILL.md 或 .claude/skills/cmux-keyboard-shortcuts/SKILL.md,frontmatter 的 name 与 description 保持原样,不要改写。
该技能还带 scripts/、references/、assets/ 等文件,请从 https://github.com/manaflow-ai/cmux 取完整目录,不要只建一个 SKILL.md。

GitHub 完整包 ↗

终端安装 · Skills CLI

需要 Node.js 与 npx。先查看仓库技能列表,确认实际名称。

npx skills add 'https://github.com/manaflow-ai/cmux' --list

npx skills add 'https://github.com/manaflow-ai/cmux' --skill 'cmux-keyboard-shortcuts'

CLI 会交互选择目标 Agent,默认安装到项目;用户级安装使用 -g。先通过查看命令核对仓库内容,再用 npx skills list 检查已安装技能。

阅读排版
--- name: cmux-keyboard-shortcuts description: "Guide and apply cmux keyboard shortcut customization. Use when the user asks to customize, rebind, unbind, reset, audit, or create shortcut templates for cmux, including tmux-style, Vim-style, terminal-first, browser-heavy, iTerm/Terminal-like, or agent-triage layouts." --- # cmux-keyboard-shortcuts Turn a user's workflow preferences into cmux shortcut bindings in `~/.config/cmux/cmux.json`: guide, propose compact templates, apply the selected changes, and confirm the config parses with recognized keys. ## Contributor rule: adding a new shortcut Every new cmux-owned keyboard shortcut must be added to `Sources/KeyboardShortcutSettings.swift`, visible and editable in Settings > Keyboard Shortcuts, supported as `shortcuts.bindings.` in `~/.config/cmux/cmux.json`, and documented in `web/app/[locale]/(landing)/docs/keyboard-shortcuts/page.tsx` and the configuration docs. All four, not a subset. ## Prerequisites - Work from a cmux checkout or worktree root when possible. - Use `skills/cmux-settings/scripts/cmux-settings` for every read/write. It reads JSONC, writes atomically, and validates JSON plus recognized settings keys. - Action IDs: `skills/cmux-settings/references/shortcut-actions.md`. Current defaults: `web/data/cmux-shortcuts.ts` or `Sources/KeyboardShortcutSettings.swift`. ```bash if [[ -z "${CMUX_SETTINGS:-}" ]]; then root="$(git rev-parse --show-toplevel 2>/dev/null || pwd)" for candidate in \ "$root/skills/cmux-settings/scripts/cmux-settings" \ "${CODEX_HOME:-$HOME/.codex}/skills/cmux-settings/scripts/cmux-settings" \ "$HOME/.agents/skills/cmux-settings/scripts/cmux-settings"; do [[ -x "$candidate" ]] && CMUX_SETTINGS="$candidate" && break done [[ -n "${CMUX_SETTINGS:-}" ]] || { echo "cmux-settings helper not found; run from a cmux checkout or install cmux-settings" >&2 exit 1 } fi ``` ## Shortcut model - Setting path: `shortcuts.bindings.`. - Single stroke: `"cmd+b"`. - Chord: `["ctrl+b","c"]`. The first stroke needs a modifier unless the key is Space. The second stroke can be bare. - Unbind: prefer `null` for explicit unbinds. `""`, `"none"`, `"clear"`, `"unbound"`, and `"disabled"` are accepted aliases, but `null` is the clearest JSON value and matches the templates below. - `selectSurfaceByNumber` and `selectWorkspaceByNumber` must use a digit from 1 to 9. `cmd+1` means the full `cmd+1` through `cmd+9` family. - `showHideAllWindows` is the only system-wide shortcut. It cannot be a chord, requires modifiers, and may be rejected by macOS if reserved. - `globalSearch` is application-scoped and only fires while cmux is active. - `showHideAllWindows` also requires Settings > Global Hotkey > Enable System-Wide Hotkey. The binding can validate in `cmux.json` while the feature is disabled, so warn the user to enable that setting before reporting the shortcut as usable. - `unset` deletes a `cmux.json` override. It does not clear shortcut changes saved through the Settings UI/UserDefaults. If the user asks for true built-in defaults, tell them to use Settings > Keyboard Shortcuts > Reset Default Shortcuts after clearing file-managed overrides, then verify in the app. For `showHideAllWindows`, use Settings > Global Hotkey to restore the shortcut to `ctrl+opt+cmd+.` because Keyboard Shortcuts > Reset Default Shortcuts intentionally skips the global hotkey. - Saving `cmux.json` live reloads. Never tell the user to restart cmux. ## Workflow 1. Classify the request: - **One-off rebind/unbind:** map the phrase to an action ID, apply, validate, report previous and new binding. - **Audit:** inspect bindings, validate, summarize overrides and unbound shortcuts without writing. - **Reset:** clarify file-managed overrides vs true built-in defaults (see the `unset` rule above). - **Broad customization:** propose 3-5 templates below and ask the user to choose. - **Named style** (tmux, Vim, iTerm, browser, agent triage): pick the closest template, show the changed actions and likely collisions, and ask before a bulk apply unless the user already named that template. 2. Inspect existing config: ```bash "$CMUX_SETTINGS" path "$CMUX_SETTINGS" get shortcuts.bindings 2>/dev/null || printf '{}\n' "$CMUX_SETTINGS" validate ``` 3. Snapshot prior values for every action you will change. A path that was absent reverts with `unset`; a path with an existing custom value reverts with `set `. ```bash "$CMUX_SETTINGS" get shortcuts.bindings.focusLeft 2>/dev/null || printf '\n' ``` 4. Apply only the chosen action paths, then `"$CMUX_SETTINGS" validate`. ```bash "$CMUX_SETTINGS" set shortcuts.bindings.newSurface '["ctrl+b","c"]' "$CMUX_SETTINGS" set shortcuts.bindings.focusLeft cmd+opt+h "$CMUX_SETTINGS" set shortcuts.bindings.sendFeedback null ``` 5. Read back each changed action: `"$CMUX_SETTINGS" get shortcuts.bindings.newSurface`. 6. Finish with the template name, changed actions, and exact revert commands from the snapshot. ## Preset templates Settings > Keyboard Shortcuts > Base Keymap (also "Base Keymap: ..." in the Command Palette) ships cmux, iTerm2, Terminal.app, and tmux-style presets. It previews the change, then writes only the overrides that differ from cmux defaults, keeps bindings the user set by hand (in `cmux.json` or legacy Settings UserDefaults), and lists macOS shortcut conflicts. Detection is stateless: a binding typed by hand that equals a preset's value for that action is treated as the preset's, so switching presets (including back to cmux) replaces or removes it. Point users there for those styles; use the templates below for the others. Apply action by action, never by overwriting the whole `shortcuts.bindings` object. ### Tmux Prefix One terminal-style namespace; `ctrl+b` starts a cmux chord instead of reaching the shell. ```bash "$CMUX_SETTINGS" set shortcuts.bindings.newSurface '["ctrl+b","c"]' "$CMUX_SETTINGS" set shortcuts.bindings.closeTab '["ctrl+b","x"]' "$CMUX_SETTINGS" set shortcuts.bindings.nextSurface '["ctrl+b","n"]' "$CMUX_SETTINGS" set shortcuts.bindings.prevSurface '["ctrl+b","p"]' "$CMUX_SETTINGS" set shortcuts.bindings.selectSurfaceByNumber '["ctrl+b","1"]' "$CMUX_SETTINGS" set shortcuts.bindings.splitRight '["ctrl+b","v"]' "$CMUX_SETTINGS" set shortcuts.bindings.splitDown '["ctrl+b","s"]' "$CMUX_SETTINGS" set shortcuts.bindings.focusLeft '["ctrl+b","h"]' "$CMUX_SETTINGS" set shortcuts.bindings.focusDown '["ctrl+b","j"]' "$CMUX_SETTINGS" set shortcuts.bindings.focusUp '["ctrl+b","k"]' "$CMUX_SETTINGS" set shortcuts.bindings.focusRight '["ctrl+b","l"]' "$CMUX_SETTINGS" set shortcuts.bindings.toggleSplitZoom '["ctrl+b","z"]' "$CMUX_SETTINGS" set shortcuts.bindings.toggleTerminalCopyMode '["ctrl+b","["]' "$CMUX_SETTINGS" set shortcuts.bindings.equalizeSplits '["ctrl+b","="]' ``` ### macOS Terminal/iTerm Restore These actions already match cmux built-in defaults, so clear file overrides rather than writing default values. ```bash for a in newSurface closeTab nextSurface prevSurface selectSurfaceByNumber \ splitRight splitDown toggleSplitZoom toggleTerminalCopyMode renameTab; do "$CMUX_SETTINGS" unset "shortcuts.bindings.$a" done ``` ### Vim Pane Navigation Prefix-free pane movement with no arrow keys. ```bash "$CMUX_SETTINGS" set shortcuts.bindings.focusLeft cmd+opt+h "$CMUX_SETTINGS" set shortcuts.bindings.focusDown cmd+opt+j "$CMUX_SETTINGS" set shortcuts.bindings.focusUp cmd+opt+k "$CMUX_SETTINGS" set shortcuts.bindings.focusRight cmd+opt+l "$CMUX_SETTINGS" set shortcuts.bindings.splitRight cmd+opt+v "$CMUX_SETTINGS" set shortcuts.bindings.splitDown cmd+opt+s "$CMUX_SETTINGS" set shortcuts.bindings.toggleSplitZoom cmd+opt+z "$CMUX_SETTINGS" set shortcuts.bindings.equalizeSplits cmd+opt+= ``` ### Agent Triage Unread handling on one key family. `toggleUnread` stays on `cmd+opt+u` so this composes with Vim Pane Navigation without colliding with `cmd+opt+j`. ```bash "$CMUX_SETTINGS" set shortcuts.bindings.showNotifications cmd+u "$CMUX_SETTINGS" set shortcuts.bindings.jumpToUnread cmd+j "$CMUX_SETTINGS" set shortcuts.bindings.markOldestUnreadAndJumpNext cmd+shift+j "$CMUX_SETTINGS" set shortcuts.bindings.toggleUnread cmd+opt+u "$CMUX_SETTINGS" set shortcuts.bindings.triggerFlash cmd+shift+h "$CMUX_SETTINGS" set shortcuts.bindings.focusRightSidebar cmd+shift+e ``` ### Workspace And Surface Lanes Workspaces and surfaces on distinct number and bracket lanes. ```bash "$CMUX_SETTINGS" set shortcuts.bindings.selectWorkspaceByNumber cmd+1 "$CMUX_SETTINGS" set shortcuts.bindings.selectSurfaceByNumber cmd+opt+1 "$CMUX_SETTINGS" set shortcuts.bindings.nextSidebarTab 'cmd+opt+]' "$CMUX_SETTINGS" set shortcuts.bindings.prevSidebarTab 'cmd+opt+[' "$CMUX_SETTINGS" set shortcuts.bindings.nextSurface 'cmd+shift+]' "$CMUX_SETTINGS" set shortcuts.bindings.prevSurface 'cmd+shift+[' ``` ### Browser-Style Terminal Navigation For people who drive the terminal like a browser text field. Ctrl+W closes the surface at the shell prompt and still reaches vim, less, or tmux, because `terminalAlternateScreen` is true only while a full-screen app has the terminal. `terminalFocus` keeps Ctrl+W from closing a browser or sidebar surface, where `terminalAlternateScreen` reads false. Word and line motion come from two terminal settings rather than bindings. ```bash "$CMUX_SETTINGS" set shortcuts.bindings.closeTab ctrl+w "$CMUX_SETTINGS" set shortcuts.when.closeTab '"terminalFocus && !terminalAlternateScreen"' "$CMUX_SETTINGS" set terminal.textEditingGestures true "$CMUX_SETTINGS" set terminal.textEditingCommandMovesByWord true ``` With both terminal settings on, Command and Option arrows move by word, Command and Option Delete delete by word, and Control+Left/Right move to line start and end. Warn that macOS reserves Control+Left/Right for switching Spaces until they are turned off in System Settings > Keyboard > Keyboard Shortcuts > Mission Control, that Ctrl+W no longer deletes a word at the prompt (Option+Delete still does), and that Cmd+Tab belongs to the macOS app switcher and cannot be rebound in cmux. Also warn that `textEditingCommandMovesByWord` gives up the line kill: Cmd+Delete becomes the word kill (Ctrl+W) and nothing is left bound to Ctrl+U, so `set terminal.textEditingCommandMovesByWord false` is the layout to use if deleting to the start of the line matters more than deleting by word. If the user works inside tmux, add `"$CMUX_SETTINGS" set terminal.textEditingGesturesInFullScreenApps true`, because tmux keeps the terminal on the alternate screen and gestures otherwise pass through; `!terminalAlternateScreen` likewise reads tmux as a full-screen app, so Ctrl+W reaches tmux instead of closing the surface. ### Browser Defaults Restore Return embedded-browser behavior to common macOS browser shortcuts. `unset` keeps future cmux defaults applying. ```bash for a in openBrowser focusBrowserAddressBar browserBack browserForward browserReload \ browserZoomIn browserZoomOut browserZoomReset toggleBrowserDeveloperTools \ showBrowserJavaScriptConsole find findNext findPrevious; do "$CMUX_SETTINGS" unset "shortcuts.bindings.$a" done ``` ### Terminal-First Cleanup Fewer app-level shortcuts. Prefer unbinding only the actions the user names; this is a starting proposal. ```bash for a in renameTab renameWorkspace editWorkspaceDescription triggerFlash sendFeedback; do "$CMUX_SETTINGS" set "shortcuts.bindings.$a" null done ``` ## Rules - Do not edit `~/.config/cmux/settings.json` unless the user explicitly asks; it is legacy fallback config. - Do not overwrite all of `shortcuts.bindings` unless the user wants a full replacement. - Do not invent action IDs. Validate against the schema or `shortcut-actions.md`. - Do not apply a broad template without showing the changed actions first, unless the user named that template. - Do not promise conflict detection from `cmux-settings validate`. It validates JSON and supported keys, not shortcut syntax, macOS reservation, or focus-context conflicts. - Before assigning `cmd+[` or `cmd+]` to application-scoped actions, warn that they collide with browser Back/Forward unless the browser actions are also changed or unbound. - `unset` clears file-managed overrides for one action. Do not call that a built-in default reset unless Settings UI/UserDefaults values were also reset.

相关技能

Agent 工作流

技能创建者Skill Creator

创造有效技能指南。 当用户想创造出新的技能(或更新现有的技能),以专业知识,工作流程,或工具集成来扩展克洛德的能力时,应该使用这种技能.

Agent 工作流

克劳德胡布Clawdhub

使用ClawdHub CLI搜索,安装,更新并发布从taladhub.com的代理技能. 需要获取苍蝇上的新技能时使用,将安装的技能同步到最新版本或特定版本,或者发布 npm-instainddhub CLI 的新/更新的技能文件夹.

Agent 工作流

团队指挥Agent Team Orchestration

管弦乐团多代理团队,任务设定周期,交接协议,审查工作流程. 使用时间: (1)建立2+特派员队伍,具有不同专业,(2)确定任务路线和生命周期(收录框_ spec_建设_审查_完成),(3)在特派员之间制定交接协议,(4)建立审查和质量关口,(5)管理特派员之间的交流和文物共享.

Agent 工作流

超级力量Superpowers

Spec-first,TDD,子代理驱动的软件开发工作流程. 当:(1)构建任何新功能或应用——触发脑暴_计划_子代理执行回路,(2)调试出一个bug或测试失败——触发系统性的根起过程,(3)用户说"让我们构建","帮助我计划","我想添加X",或"这个被打破",(4)完成一个功…