#配置
cmux 从 Ghostty 配置文件中读取配置,如果你之前使用 Ghostty,这些选项会很熟悉。
#配置文件位置
cmux 按以下顺序查找配置:
~/.config/ghostty/config~/Library/Application Support/com.mitchellh.ghostty/config
如果配置文件不存在,请创建:
mkdir -p ~/.config/ghostty
touch ~/.config/ghostty/config#配置示例
font-family = SF Mono
font-size = 13
sidebar-font-size = 14
surface-tab-bar-font-size = 11
theme = One Dark
scrollback-limit = 50000000
split-divider-color = #3e4451
working-directory = ~/code#cmux.json
cmux keeps app-owned settings, shortcuts, actions, custom commands, and workspace layouts in ~/.config/cmux/cmux.json. Terminal rendering still lives in Ghostty config. On launch, if the file is missing, cmux writes a commented template there.
Open cmux Settings, then use the cmux.json section to open the canonical file in your preferred text editor.
~/.config/cmux/cmux.json.cmux/cmux.jsonin a project for project-scoped actions and workspace commands
~/.config/cmux/cmux.json settings override values saved in the Settings window. Legacy ~/.config/cmux/settings.json and Application Support settings files are read only as fallback for missing settings keys. Project-local .cmux/cmux.json can override actions, commands, UI action wiring, and notification hooks, but not global app preferences.Cmd+Shift+, or cmux reload-config to re-read it without restarting the app.schemaVersion at 1 for now. Future cmux versions will use that field for upgrades. If cmux sees a newer schema version, it logs a warning and parses known keys only.The file accepts JSON with comments and trailing commas. The canonical schema is published at https://raw.githubusercontent.com/manaflow-ai/cmux/main/web/data/cmux.schema.json and the source lives at https://github.com/manaflow-ai/cmux/blob/main/web/data/cmux.schema.json.
{
"$schema": "https://raw.githubusercontent.com/manaflow-ai/cmux/main/web/data/cmux.schema.json",
"schemaVersion": 1,
// "app": {
// "appearance": "dark",
// "menuBarOnly": false,
// "newWorkspacePlacement": "afterCurrent",
// "windowTitleTemplate": "[cmux:{windowToken}] {activeWorkspace}",
// "confirmQuit": "always",
// "openSupportedFilesInCmux": true,
// "workspaceInheritWorkingDirectory": true,
// "iMessageMode": true
// },
// "terminal": {
// "showScrollBar": false,
// "copyOnSelect": true,
// "autoResumeAgentSessions": true,
// "showTextBoxOnNewTerminals": false,
// "focusTextBoxOnNewTerminals": false,
// "agentHibernation": {
// "enabled": false,
// "idleSeconds": 5,
// "maxLiveTerminals": 12
// },
// "textBoxMaxLines": 10
// },
// "browser": {
// "defaultSearchEngine": "kagi",
// // For an unlisted provider, set "defaultSearchEngine": "custom" and fill these:
// "customSearchEngineName": "My Search",
// "customSearchEngineURLTemplate": "https://search.example.com/?q={query}",
// "openTerminalLinksInCmuxBrowser": true,
// "hostsToOpenInEmbeddedBrowser": ["localhost", "*.internal.example"]
// },
// "markdown": {
// // Default body font size (points) for newly opened markdown viewers.
// // Zoom a viewer live with Cmd-+ / Cmd-- / Cmd-0.
// "fontSize": 15,
// // Default body font family. Empty keeps the system markdown font stack.
// "fontFamily": "",
// // Default maximum reading column width, in CSS pixels.
// "maxWidth": 980
// },
// "fileEditor": {
// // Wrap long lines at the editor's right edge instead of scrolling horizontally.
// "wordWrap": false
// },
// "fileExplorer": {
// // 双击文件:preview(默认)、defaultEditor(macOS 默认应用)或 preferredEditor(app.preferredEditor 命令)。
// "doubleClickAction": "preview"
// },
// "automation": {
// "suppressSubagentNotifications": true
// },
// "workspaceColors": {
// "colors": {
// "Red": "#C0392B",
// "Blue": "#1565C0",
// "Neon Mint": "#00F5D4"
// }
// },
// "workspaceGroups": {
// "newWorkspacePlacement": "afterCurrent"
// },
// "shortcuts": {
// "bindings": {
// "toggleSidebar": "cmd+b",
// "toggleFileExplorer": "cmd+opt+b",
// "newTab": ["ctrl+b", "c"],
// "commandPalettePrevious": null
// }
// },
}#Schema reference
This reference covers every supported global settings key in cmux.json. The embedded browser, terminal, sidebar, notifications, automation, and cmux-owned keyboard shortcuts all live here. Actions and workspace commands are documented on the custom commands page.
#Metadata
$schemaOptional schema URL for editor completion and validation.
- Type
string- Default
"https://raw.githubusercontent.com/manaflow-ai/cmux/main/web/data/cmux.schema.json"
schemaVersionSchema version for forward-compatible migrations. Newer versions are parsed on a best-effort basis.
- Type
integer- Default
1
#app
General app preferences from Settings > App.
app.languagePreferred app language.
- Type
string- Default
"system"- Allowed values
system, en, ar, bs, zh-Hans, zh-Hant, da, de, es, fr, it, ja, ko, nb, pl, pt-BR, ru, th, tr
app.appearanceApp appearance mode.
- Type
string- Default
"system"- Allowed values
system, light, dark
app.appIconDock and app switcher icon style.
- Type
string- Default
"automatic"- Allowed values
automatic, light, dark
app.windowTitleTemplate可选的 NSWindow 标题模板。留空会保留 cmux 现有的默认标题行为,包括回退到当前目录。支持的占位符:{windowId}、{windowToken}、{activeWorkspace}、{activeDirectory}、{defaultTitle}、{appName}。
- Type
string- Default
""
app.menuBarOnlyHide the Dock icon and app switcher entry while keeping cmux available from the menu bar.
- Type
boolean- Default
false
app.newWorkspacePlacementWhere new workspaces are inserted in the sidebar.
- Type
string- Default
"afterCurrent"- Allowed values
top, afterCurrent, end
app.forkConversationDefaultDestination标签页上下文菜单中主要 Fork Conversation 操作的默认目标。子菜单仍会显示所有目标。
- Type
string- Default
"right"- Allowed values
right, left, top, bottom, newTab, newWorkspace
app.workspaceInheritWorkingDirectoryWhen true, new workspaces inherit the current workspace working directory. When false, new workspaces leave the working directory unset so Ghostty's working-directory setting can provide the default.
- Type
boolean- Default
true
app.minimalModeHide the workspace title bar and move controls into the sidebar.
- Type
boolean- Default
false
app.keepWorkspaceOpenWhenClosingLastSurfaceWhen true, closing the last surface keeps the workspace open.
- Type
boolean- Default
false
app.focusPaneOnFirstClickWhen cmux is inactive, the first click can activate and focus the clicked pane.
- Type
boolean- Default
true
app.preferredEditorCustom editor command used when Cmd-click file previews are disabled or a file is unsupported. Leave empty to use the default.
- Type
string- Default
""
app.openSupportedFilesInCmuxWhen enabled, Cmd-clicking readable local files opens supported previews in cmux, including text, code, PDFs, images, audio, video, and Quick Look files. Preview headers include an Open With menu based on the user's default and compatible macOS apps for that file.
- Type
boolean- Default
true
app.openMarkdownInCmuxViewerWhen enabled, Cmd-clicking .md/.markdown/.mkd/.mdx files opens the rendered cmux markdown viewer panel (with live reload) instead of the generic file preview.
- Type
boolean- Default
true
app.globalFontMagnification按此百分比缩放 cmux 拥有的终端、标签标题、侧边栏、设置、覆盖层和应用 chrome。渲染后的浏览器页面内容不包含在内。
- Type
integer- Default
100
app.reorderOnNotificationMove workspaces with new notifications toward the top.
- Type
boolean- Default
true
app.iMessageModeMove a workspace to the top and show the submitted message when sending an agent prompt.
- Type
boolean- Default
false
app.sendAnonymousTelemetryAllow anonymous telemetry.
- Type
boolean- Default
true
app.confirmQuit控制 cmux 在退出前何时请求确认。无论此设置如何,DEV 构建都会立即退出。旧的 app.warnBeforeQuit 仍作为布尔回退值接受。
- Type
string- Default
"always"- Allowed values
always, dirty-only, never
app.warnBeforeQuit用于退出确认的旧布尔回退值。新配置请使用 app.confirmQuit。
- Type
boolean- Default
true
app.warnBeforeClosingTabShow a confirmation before closing a tab.
- Type
boolean- Default
true
app.warnBeforeClosingTabXButton使用标签关闭按钮关闭标签前显示确认。
- Type
boolean- Default
false
app.hideTabCloseButton在窗格标签栏中隐藏标签关闭按钮。
- Type
boolean- Default
false
app.renameSelectsExistingNameSelect the current name when opening rename flows.
- Type
boolean- Default
true
app.commandPaletteSearchesAllSurfacesSearch every surface in the command palette switcher instead of only the active workspace.
- Type
boolean- Default
false
#terminal
Terminal presentation settings from Settings > Terminal.
terminal.showScrollBarShow the right-edge terminal scroll bar when scrollback is available. cmux automatically suppresses it for alternate-screen style TUI surfaces.
- Type
boolean- Default
true
terminal.scrollSpeed应用于终端滚轮和触控板滚动量的倍数。值越大滚动越快,值越小滚动越慢。
- Type
number- Default
1
terminal.copyOnSelect为 true 时,在确认选择后将所选终端文本复制到系统剪贴板。为 false 时,cmux 不会输出 Ghostty copy-on-select 覆盖项;选择剪贴板行为由 Ghostty 配置和默认值控制。
- Type
boolean- Default
false
terminal.autoResumeAgentSessionsAutomatically run agent resume commands for restored terminal sessions when cmux reopens after quit. Set false to restore panes while keeping Claude Code, Codex, OpenCode, and other saved agent sessions idle until you resume them manually.
- Type
boolean- Default
true
terminal.showTextBoxOnNewTerminals默认在新建的工作区、终端标签页和终端分屏中显示测试版 TextBox 输入。
- Type
boolean- Default
false
terminal.focusTextBoxOnNewTerminals默认在新建的工作区、终端标签页和终端分屏中聚焦测试版 TextBox 输入。聚焦也会显示 TextBox。
- Type
boolean- Default
false
terminal.agentHibernationOpt-in Agent Hibernation settings. cmux kills idle background agent processes to free RAM and CPU, then resumes them with their saved session when their tab is visited. A terminal is only suspended when it runs a restorable coding agent, the agent lifecycle reports idle, the terminal is off-screen, the live-terminal limit is exceeded, and its output has stayed unchanged for the idle window plus a short confirmation settle window. The placeholder Resume button is a manual fallback.
- Type
object- Default
none
terminal.rendererRealizationReclaim off-screen terminal GPU renderer memory. cmux releases the Metal renderer (IOSurface) of a terminal that has stayed off-screen and idle while keeping its process and terminal state alive, then rebuilds the renderer instantly when the tab is visited again. Non-destructive and on by default.
- Type
object- Default
none
terminal.textBoxMaxLinesMaximum number of lines the rich terminal TextBox input can grow to before it scrolls.
- Type
integer- Default
10
terminal.resumeCommandsSigned command-prefix approvals for restoring non-agent terminal surfaces. cmux writes this list when you approve a surface resume command.
- Type
array<object>- Default
[]
#notifications
Notification behavior from Settings > Notifications.
notifications.dockBadgeShow the unread count in the Dock tile.
- Type
boolean- Default
true
notifications.showInMenuBarShow the menu bar extra.
- Type
boolean- Default
true
notifications.unreadPaneRingHighlight panes with unread notifications.
- Type
boolean- Default
true
notifications.paneFlashFlash the focused pane when requested.
- Type
boolean- Default
true
notifications.soundNotification sound preset.
- Type
string- Default
"default"- Allowed values
default, Basso, Blow, Bottle, Frog, Funk, Glass, Hero, Morse, Ping, Pop, Purr, Sosumi, Submarine, Tink, custom_file, none
notifications.customSoundFilePathLocal path to the custom notification sound file.
- Type
string- Default
""
notifications.commandOptional shell command to run alongside notification delivery.
- Type
string- Default
""
notifications.hooksModeControls whether project-local notification hooks append to inherited hooks or replace them.
- Type
string- Default
"append"- Allowed values
append, replace
notifications.hooksComposable shell hooks that receive notification policy JSON on stdin and return updated policy JSON on stdout.
- Type
array<object>- Default
[]
#sidebar
Sidebar content and metadata visibility from Settings > Sidebar.
sidebar.hideAllDetailsHide all per-workspace detail rows.
- Type
boolean- Default
false
sidebar.wrapWorkspaceTitlesAllow workspace titles in the sidebar to wrap to multiple lines instead of truncating after one line.
- Type
boolean- Default
false
sidebar.showWorkspaceDescriptionShow custom workspace descriptions in the sidebar.
- Type
boolean- Default
true
sidebar.branchLayoutShow git branch details stacked vertically or inline.
- Type
string- Default
"vertical"- Allowed values
vertical, inline
sidebar.showNotificationMessageShow the latest notification text in the sidebar.
- Type
boolean- Default
true
sidebar.showBranchDirectoryShow the workspace working directory.
- Type
boolean- Default
true
sidebar.showPullRequestsShow pull request metadata in the sidebar.
- Type
boolean- Default
true
sidebar.watchGitStatusWatch repository files for sidebar branch and pull request metadata without polling git.
- Type
boolean- Default
true
sidebar.makePullRequestsClickableAllow sidebar pull request metadata to open links when clicked.
- Type
boolean- Default
true
sidebar.openPullRequestLinksInCmuxBrowserOpen sidebar pull request links in the embedded cmux browser.
- Type
boolean- Default
true
sidebar.openPortLinksInCmuxBrowserOpen sidebar port links in the embedded cmux browser.
- Type
boolean- Default
true
sidebar.showSSHShow SSH connection details.
- Type
boolean- Default
true
sidebar.showPortsShow listening ports.
- Type
boolean- Default
true
sidebar.showLogShow recent log snippets.
- Type
boolean- Default
true
sidebar.showProgressShow progress indicators.
- Type
boolean- Default
true
sidebar.showCustomMetadataShow custom metadata pills.
- Type
boolean- Default
true
sidebar.rightMaxWidth右侧边栏的最大宽度(点)。省略时使用内置动态上限。
- Type
number- Default
none
#workspaceGroups
Per-cwd customization for sidebar workspace groups. The anchor workspace's cwd is matched against the keys in `byCwd`; longest-match wins. Keys containing `*` or `?` are matched as fnmatch globs (with `~` expanded); other keys are path prefixes.
workspaceGroups.newWorkspacePlacement组内 Cmd-N、组标题中的 + 按钮以及已配置的组操作放置新 workspace 的全局默认位置:`afterCurrent`(在当前活动的组内 workspace 后面,没有时回退到 top)、`top`(第二个位置,紧跟锚点之后)或 `end`(最后一个成员之后)。
- Type
string- Default
"afterCurrent"- Allowed values
afterCurrent, top, end
workspaceGroups.byCwdMap of cwd patterns to group customization. Empty when omitted.
- Type
object- Default
none
#workspaceColors
Workspace tab and badge colors from Settings > Workspace Colors.
workspaceColors.indicatorStyleActive workspace indicator style. Legacy aliases are accepted and normalized.
- Type
string- Default
"leftRail"- Allowed values
leftRail, solidFill, rail, border, wash, lift, typography, washRail, blueWashColorRail
workspaceColors.selectionColorOverride the selected workspace background color.
- Type
unknown- Default
null
workspaceColors.notificationBadgeColorOverride the unread notification badge color.
- Type
unknown- Default
null
workspaceColors.colorsFull named workspace color palette. Include built-in entries you want to keep, remove keys to remove colors, and add more named entries to extend the picker.
- Type
object- Default
{ "Red": "#C0392B", "Crimson": "#922B21", "Orange": "#A04000", "Amber": "#7D6608", "Olive": "#4A5C18", "Green": "#196F3D", "Teal": "#006B6B", "Aqua": "#0E6B8C", "Blue": "#1565C0", "Navy": "#1A5276", "Indigo": "#283593", "Purple": "#6A1B9A", "Magenta": "#AD1457", "Rose": "#880E4F", "Brown": "#7B3F00", "Charcoal": "#3E4B5E" }
workspaceColors.paletteOverridesLegacy workspace color overrides for built-in palette names. Prefer workspaceColors.colors for new configs.
- Type
object- Default
{}
workspaceColors.customColorsLegacy list of custom workspace colors. Prefer workspaceColors.colors for new configs.
- Type
array<unknown>- Default
[]
workspaceColors.colors is the full palette. Keep the built-in keys you want, delete keys to remove colors from the picker, and add more named color entries to extend it. Older paletteOverrides and customColors files still parse during upgrades, but new files should use colors.
{
"workspaceColors": {
"colors": {
"Red": "#C0392B",
"Blue": "#1565C0",
"Neon Mint": "#00F5D4"
}
}
}#sidebarAppearance
Sidebar tint settings from Settings > Sidebar Appearance.
sidebarAppearance.matchTerminalBackgroundUse the terminal background instead of the sidebar tint.
- Type
boolean- Default
false
sidebarAppearance.tintColorBase sidebar tint color used when light/dark overrides are not set.
- Type
unknown- Default
"#000000"
sidebarAppearance.lightModeTintColorSidebar tint override for light appearance.
- Type
unknown- Default
null
sidebarAppearance.darkModeTintColorSidebar tint override for dark appearance.
- Type
unknown- Default
null
sidebarAppearance.tintOpacitySidebar tint opacity from 0 to 1. Note: this only controls the sidebar tint, not terminal/window transparency. For terminal background transparency or blur, set `background-opacity` and `background-blur` in `~/.config/ghostty/config` and run `cmux reload-config`.
- Type
number- Default
0.03
#automation
Socket control and automation settings from Settings > Automation.
automation.socketControlModeSocket control mode. Legacy aliases are accepted and normalized.
- Type
string- Default
"cmuxOnly"- Allowed values
off, cmuxOnly, automation, password, allowAll, openAccess, fullOpenAccess, notifications, full
automation.socketPasswordPassword for password-mode socket access. Use null or an empty string to clear it.
- Type
string | null- Default
""
automation.claudeCodeIntegrationEnable cmux integration hooks for Claude Code.
- Type
boolean- Default
true
automation.claudeBinaryPathCustom path to the claude binary.
- Type
string- Default
""
automation.workspaceAutoNaming可选的 AI 自动命名:根据代理对话内容自动命名工作区和标签页。启用后,cmux 会使用各受支持代理自己的二进制文件将会话总结为简短标题;手动重命名始终优先。
- Type
boolean- Default
false
automation.autoNamingAgent为每个会话生成自动名称的代理。"auto"(默认)使用各会话自己的代理来命名;任意代理标识(claude、codex、grok、opencode、pi、omp 等)会覆盖所有会话的命名,包括其他代理的会话。无法驱动或未安装的代理会回退到会话自身的代理,因此命名永不中断。
- Type
string- Default
"auto"
automation.ripgrepBinaryPathCustom path to the ripgrep (rg) binary used by project search.
- Type
string- Default
""
automation.suppressSubagentNotifications隐藏嵌套 Codex 或 Claude 子代理的可见完成通知和状态变更,同时将其事件保留在 Feed 遥测中。
- Type
boolean- Default
true
automation.ampIntegration启用 cmux 与 Amp 的集成钩子。禁用时,捆绑插件将保持非活动状态,无需移除。
- Type
boolean- Default
true
automation.cursorIntegrationEnable cmux integration hooks for Cursor.
- Type
boolean- Default
true
automation.geminiIntegrationEnable cmux integration hooks for Gemini.
- Type
boolean- Default
true
automation.kiroIntegrationEnable cmux integration hooks for Kiro CLI.
- Type
boolean- Default
true
automation.kiroNotificationLevelControls how many Kiro tool events appear in Feed.
- Type
string- Default
"standard"- Allowed values
minimal, standard, verbose
automation.portBaseStarting value for workspace CMUX_PORT assignments.
- Type
integer- Default
9100
automation.portRangeNumber of ports reserved per workspace.
- Type
integer- Default
10
#browser
Embedded browser settings from Settings > Browser.
browser.defaultSearchEngine浏览器地址栏输入不是 URL 时使用的默认搜索引擎。对于任意提供商,请使用 custom 和 customSearchEngineURLTemplate。
- Type
string- Default
"google"- Allowed values
google, duckduckgo, bing, kagi, startpage, brave, perplexity, exa, yahoo, ecosia, qwant, mojeek, wikipedia, github, baidu, yandex, custom
browser.customSearchEngineNamedefaultSearchEngine 为 custom 时使用的显示名称。
- Type
string- Default
""
browser.customSearchEngineURLTemplatedefaultSearchEngine 为 custom 时使用的搜索 URL。使用查询占位符或 %s 表示已编码的查询。如果没有占位符,cmux 会向 URL 添加 q=。
- Type
string- Default
"https://www.google.com/search?q={query}"
browser.showSearchSuggestionsShow omnibar search suggestions.
- Type
boolean- Default
true
browser.themeEmbedded browser theme.
- Type
string- Default
"system"- Allowed values
system, light, dark
browser.discardHiddenWebViewsAllow hidden browser tabs to release page memory and restore when shown again.
- Type
boolean- Default
true
browser.hiddenWebViewDiscardDelaySecondsSeconds a browser tab must stay hidden before cmux frees its page memory.
- Type
number- Default
300
browser.openTerminalLinksInCmuxBrowserOpen clicked terminal links in the embedded browser.
- Type
boolean- Default
true
browser.interceptTerminalOpenCommandInCmuxBrowserIntercept terminal open http(s) commands and route them through the embedded browser.
- Type
boolean- Default
true
browser.hostsToOpenInEmbeddedBrowserAllowlist of hosts that should stay inside the embedded browser.
- Type
array<string>- Default
[]
browser.urlsToAlwaysOpenExternallyRules that always open matching URLs in the system browser.
- Type
array<string>- Default
[]
browser.insecureHttpHostsAllowedInEmbeddedBrowserHTTP hosts allowed in the embedded browser without a warning prompt.
- Type
array<string>- Default
[ "localhost", "*.localhost", "127.0.0.1", "::1", "0.0.0.0", "*.localtest.me" ]
browser.showImportHintOnBlankTabsShow the browser import hint on blank tabs.
- Type
boolean- Default
true
browser.reactGrabVersionPinned react-grab version for the browser toolbar helper.
- Type
string- Default
"0.1.29"
#markdown
Built-in markdown viewer settings.
markdown.fontSizeDefault body font size, in points, for newly opened markdown viewers. Zoom a viewer live with Cmd-+ / Cmd-- / Cmd-0.
- Type
integer- Default
15
markdown.fontFamilyDefault body font family for newly opened markdown viewers. Leave empty for the system markdown font stack.
- Type
string- Default
""
markdown.maxWidthDefault maximum reading column width, in CSS pixels, for newly opened markdown viewers.
- Type
integer- Default
980
#fileEditor
Built-in plain-text file editor settings.
fileEditor.wordWrapWrap long lines at the editor's right edge instead of scrolling horizontally.
- Type
boolean- Default
false
#fileExplorer
右侧边栏文件浏览器(文件树)设置。
fileExplorer.doubleClickAction设置在文件浏览器中双击文件(或在搜索结果上按 Return)时执行的操作。`preview` 会打开 cmux 内置文件预览(默认和历史行为)。`defaultEditor` 会使用该文件类型的 macOS 默认应用打开。`preferredEditor` 会使用 `app.preferredEditor` 命令打开;未设置时回退到默认应用。仅适用于文件;目录始终展开/折叠,非本地(远程)文件浏览器始终打开 cmux 预览。
- Type
string- Default
"preview"- Allowed values
preview, defaultEditor, preferredEditor
#shortcuts
Keyboard shortcut settings from Settings > Keyboard Shortcuts.
shortcuts.showModifierHoldHints在按住 Cmd 或 Control 时显示快捷键提示标签。
- Type
boolean- Default
true
shortcuts.when每个操作可选的上下文谓词(VS Code 风格的 `when` 子句),按 cmux 操作 id 索引。每个值都是基于上下文键的布尔表达式,可用 !、&&、|| 和括号组合。布尔键:sidebarFocus、browserFocus、markdownFocus、terminalFocus、commandPaletteVisible、terminalFindVisible、workspaceCanvasLayout。类型化键支持比较:字符串 sidebarMode(files、find、sessions、feed 或 dock)以及整数 paneCount 和 workspaceCount。比较运算符为 ==、!=、=~(正则表达式)、<、<=、>、>= 和 `in [a, b]`;未知或不存在的键按 false 处理。也接受布尔字面量 true 和 false;`key == false` 等同于 `!key`。只有当子句成立时,该操作的快捷键才会触发,也只会在这种情况下与其他快捷键冲突。示例:{ "selectWorkspaceByNumber": "!sidebarFocus" } 让 Ctrl+1–9 在右侧边栏未聚焦时选择工作区;{ "selectSurfaceByNumber": "sidebarMode == 'find' && paneCount > 1" } 在工作区有多个窗格时将绑定限定在查找侧边栏。
- Type
object- Default
{}
#shortcuts.bindings
Use a string for a single shortcut, a two-item array for a chord, or null to unbind a shortcut in shortcuts.bindings. Unbind aliases also include empty string (""), none, clear, unbound, and disabled. Example chord: ["ctrl+b", "c"]. Numbered actions use 1 as the stored default and still match digits 1 through 9.
The defaults below are the same cmux-owned actions listed on the keyboard shortcuts page.
App
openSettingsSettings
cmd+,reloadConfigurationReload configuration
cmd+shift+,showHideAllWindowsShow/hide all cmux windowssystem-wide hotkey
ctrl+opt+cmd+.globalSearchGlobal searchsystem-wide hotkey
opt+cmd+fcommandPaletteCommand palette
cmd+shift+pcommandPaletteNextCommand palette next resultwhen the command palette is open
ctrl+ncommandPalettePreviousCommand palette previous resultwhen the command palette is open
ctrl+pnewWindowNew window
cmd+shift+ncloseWindowClose window
ctrl+cmd+wtoggleFullScreenToggle full screen
ctrl+cmd+fsendFeedbackSend feedbackunbound by default
reopenPreviousSessionReopen previous session
cmd+shift+oquitQuit cmux
cmd+q工作区
toggleSidebarToggle left sidebar
cmd+btoggleFileExplorerToggle right sidebar
cmd+opt+bnewTabNew workspace
cmd+nnewBrowserWorkspaceNew browser workspacelike New Workspace, but the first surface is a browser pane with the address bar focused
opt+cmd+nopenFolderOpen folder
cmd+ogoToWorkspaceGo to workspaceworkspace switcher
cmd+pnextSidebarTabNext workspace
ctrl+cmd+]prevSidebarTabPrevious workspace
ctrl+cmd+[focusHistoryBackFocus backcmux uses Cmd+[ and Cmd+] for focus history by default. Unbind Focus Back/Forward in Settings to let browser or terminal shortcuts handle those keys.
cmd+[focusHistoryForwardFocus forwardcmux uses Cmd+[ and Cmd+] for focus history by default. Unbind Focus Back/Forward in Settings to let browser or terminal shortcuts handle those keys.
cmd+]selectWorkspaceByNumberSelect workspace 1…9
cmd+1renameWorkspaceRename workspace
cmd+shift+reditWorkspaceDescriptionEdit workspace description
opt+cmd+efocusRightSidebarToggle right-sidebar focus
cmd+shift+enavigateRightSidebarRowsNavigate focused sidebar rowsIn Files, H/L collapse and expand folders. Search starts with /.
j / kfileExplorerOpenSelection打开所选文件或切换文件夹聚焦的文件资源管理器
enterfileExplorerOpenSelectionFinderAlias打开所选文件或切换文件夹聚焦的文件资源管理器的 Finder 风格别名
cmd+downcloseWorkspaceClose workspace
cmd+shift+wSurface
newSurfaceNew surface
cmd+tnextSurfaceNext surface
cmd+shift+]prevSurfacePrevious surface
cmd+shift+[selectSurfaceByNumberSelect surface 1…9
ctrl+1renameTabRename tab
cmd+rcloseTabClose tab
cmd+wcloseOtherTabsInPaneClose other tabs in pane
opt+cmd+treopenClosedBrowserPanelReopen last closed
cmd+shift+ttoggleTerminalCopyModeToggle terminal copy mode
cmd+shift+mclearScreenKeepScrollbackClear screen (keep scrollback)
cmd+shift+kfocusTextBoxInputSwitch focus between terminal and TextBox input
cmd+shift+aattachTextBoxFileAttach file to TextBox input
opt+cmd+shift+asendCtrlFToTerminalSend Ctrl-F to terminalunbound by default; forwards Ctrl-F to the focused terminal (Claude Code: invoke twice to force-stop hung background agents)
saveFilePreviewSave file previewfocused text preview
cmd+s分屏面板
focusLeftFocus pane left
opt+cmd+leftfocusRightFocus pane right
opt+cmd+rightfocusUpFocus pane up
opt+cmd+upfocusDownFocus pane down
opt+cmd+downsplitRightSplit right
cmd+dsplitDownSplit down
cmd+shift+dsplitBrowserRightSplit browser right
opt+cmd+dsplitBrowserDownSplit browser down
opt+cmd+shift+dtoggleSplitZoomToggle pane zoom
cmd+shift+enterequalizeSplitsEqualize split sizes
ctrl+cmd+=画布
toggleCanvasLayoutToggle canvas layout
ctrl+cmd+ccanvasRevealFocusedPaneReveal focused pane
ctrl+cmd+rcanvasOverviewToggle overview zoom
ctrl+cmd+ocanvasZoomInZoom in
opt+cmd+=canvasZoomOutZoom out
opt+cmd+-canvasZoomResetActual size
cmd+0canvasTidyTidy panes into a grid
ctrl+cmd+t浏览器
openBrowserOpen browser
cmd+shift+lfocusBrowserAddressBarFocus address bar
cmd+lbrowserBackBack
cmd+[browserForwardForward
cmd+]browserReloadReload pagefocused browser
cmd+rbrowserHardReload强制刷新页面聚焦的浏览器
cmd+shift+rbrowserZoomInZoom in
cmd+=browserZoomOutZoom out
cmd+-browserZoomResetActual size
cmd+0markdownZoomInMarkdown viewer: zoom infocused markdown viewer
cmd+=markdownZoomOutMarkdown viewer: zoom outfocused markdown viewer
cmd+-markdownZoomResetMarkdown viewer: actual sizefocused markdown viewer
cmd+0toggleBrowserDeveloperToolsToggle browser developer tools
opt+cmd+ishowBrowserJavaScriptConsoleShow browser JavaScript console
opt+cmd+ctoggleBrowserFocusModeEnter browser focus modeGives the focused web page first claim on shortcuts. Press Esc twice to exit.
opt+cmd+entertoggleReactGrabToggle React Grabfocused browser, or the only browser pane when a terminal is focused
cmd+shift+g差异查看器
openDiffViewerOpen diff viewer
ctrl+cmd+shift+ddiffViewerScrollDownScroll diff downfocused diff viewer
jdiffViewerScrollUpScroll diff upfocused diff viewer
kdiffViewerScrollToBottomScroll diff to bottomfocused diff viewer
shift+gdiffViewerScrollToTopScroll diff to topfocused diff viewer
["g", "g"]diffViewerOpenFileSearchOpen diff file searchfocused diff viewer
/查找
findFind
cmd+ffindInDirectoryFind in directory
cmd+shift+ffindNextFind next
cmd+gfindPreviousFind previous
opt+cmd+ghideFindHide find bar
opt+cmd+shift+fuseSelectionForFindUse selection for find
cmd+e通知
showNotificationsShow notifications
cmd+ijumpToUnreadJump to latest unread
cmd+shift+utoggleUnreadToggle current item unread state
opt+cmd+umarkOldestUnreadAndJumpNextMark current item as oldest unread and jump to the next latest unread
ctrl+cmd+utriggerFlashFlash focused panel
cmd+shift+h#shortcuts.when
每个操作可选的上下文谓词(VS Code 风格的 when 子句),按 cmux 操作 id 索引。只有当其子句成立时,绑定才会触发,也只会在这种情况下与同一按键上的其他绑定冲突。省略子句即保留操作的内置上下文。子句可用的词汇:
sidebarFocus,browserFocus,markdownFocus,terminalFocus,commandPaletteVisible,terminalFindVisible,workspaceCanvasLayout— 布尔键。未知或不存在的键按 false 处理;也接受字面量 true 和 false。sidebarMode(files,find,sessions,feed,dock),paneCount,workspaceCount— 用于比较的类型化键:右侧边栏的当前模式(字符串),以及窗格和工作区数量(整数)。!,&&,||,(…),==,!=,=~,<,<=,>,>=,in [a, b]— 布尔运算符、类型化比较、正则匹配和列表成员判断。比较的结合优先级高于 && 和 ||。
例如,下面的配置让 Ctrl+1–9 在右侧边栏未聚焦时选择工作区(把 Ctrl+1–5 留给侧边栏模式切换器),并在工作区有多个窗格时将表面选择限定在查找侧边栏:
"shortcuts": {
"bindings": { "selectWorkspaceByNumber": "ctrl+1" },
"when": {
"selectWorkspaceByNumber": "!sidebarFocus",
"selectSurfaceByNumber": "sidebarMode == 'find' && paneCount > 1"
}
}