Thanks to visit codestin.com
Credit goes to docs.qoder.com

Skip to main content
Configuration and Security

UI and Shortcuts

Themes, Status Bar, Keyboard Shortcuts, Vim Mode, and Voice Input in Qoder CLI

The interactive interface (TUI) of Qoder CLI offers customizable options such as themes, the Status Bar, Keyboard Shortcuts, Vim edit mode, and Voice Input. Properly configuring these UI options makes your terminal experience smoother and more tailored to your personal habits. This page covers UI-related configurations and operations. For the layering and merging rules of configuration files, see Configuration Files and Application Order.

Display Language

The local interactive interface supports Simplified Chinese and English. When ui.language is not configured, the interface defaults to English. To follow the system language, explicitly select Auto in settings.

Switch Language in Settings

  1. Run /settings in Qoder CLI.
  2. Search for and select Display Language.
  3. Choose Auto, Simplified Chinese, or English.
The change takes effect immediately without restarting. The current session, prompt, and active business state are preserved; UI text uses the new language when it renders again.

Set the Language in a Settings File

You can also set ui.language in settings.json:
{
  "ui": {
    "language": "en"
  }
}
ValueBehavior
autoSelects according to the system language. Languages beginning with zh use Simplified Chinese; all others use English.
zh-CNAlways use Simplified Chinese.
enAlways use English.
ui.language controls only the interactive interface. The top-level language setting controls the preferred language for AI responses. You can configure them independently—for example, use an English interface while asking the AI to respond in Chinese. Some model descriptions and release notes are loaded dynamically. If content is unavailable in the selected language, the interface falls back to English. If Auto selects an unexpected language, explicitly set ui.language to zh-CN or en. See Configuration Files and Application Order for settings locations and precedence.

Theme

Themes control the Color Scheme of the interface. You can switch themes in the interactive interface via /theme, or specify one in your configuration:
{
  "ui": {
    "theme": "Tokyo Night",
    "autoThemeSwitching": true
  }
}

Built-in themes

Qoder CLI provides multiple built-in themes: AyuDark, AyuLight, AtomOneDark, Dracula, DefaultLight, DefaultDark, GitHubDark, GitHubLight, GoogleCode, Holiday, ShadesOfPurple, SolarizedDark, SolarizedLight, XCode, TokyoNight, ANSI, ANSILight.

Auto-Switch

ui.autoThemeSwitching (enabled by default) automatically switches between the default Light and Dark Theme based on the terminal's background color. The polling interval for the terminal background color is controlled by ui.terminalBackgroundPollingInterval (default: 60 seconds).

Custom Theme

You can define your own Color Scheme via ui.customThemes and then reference its name in ui.theme.

Status Bar

The Status Bar is displayed below the Input Box. The built-in default Status Bar displays information such as model · workspace · +N -N (model name, Working Directory, lines of code added/removed) and automatically hides lower-priority segments when the terminal width is insufficient.

Custom Status Bar Command

You can run a custom shell command to generate the Status Bar content. This command receives session data as JSON via stdin (including Session ID, Working Directory, model, context usage, Git branch, Vim mode, etc.), and its standard output (including ANSI colors) is displayed below the Input Box:
{
  "statusLine": {
    "type": "command",
    "command": "~/.qoder/statusline-command.sh",
    "padding": 0
  }
}
Running /statusline in the interactive interface leverages the built-in Status Bar configuration capabilities to automatically read your shell configuration and generate a script.

Paragraph Color

For the built-in default Status Bar, you can customize the Paragraph Color for each segment via statusLine.colors (e.g., model, branch, separator). Color values can be hexadecimal (e.g., #ff6600), ANSI names (e.g., red, cyan), or natural language color names (e.g., ocean blue). Leaving a value blank applies the theme's default color. The context progress bar ignores custom colors and automatically changes color (green/yellow/red) based on usage.

Keyboard Shortcuts

Run /shortcuts in the interactive interface to view the current list of Keyboard Shortcuts. Common shortcuts include:
Keyboard ShortcutAction
EnterSubmit input.
Shift+Enter / Ctrl+JNew line (without submitting).
Ctrl+CInterrupt current operation / clear input.
Ctrl+DExit.
Ctrl+A / HomeMove to the beginning of the line.
Ctrl+E / EndMove to the end of the line.
Ctrl+Left / Alt+LeftMove one word to the left.
Ctrl+Right / Alt+RightMove one word to the right.
Ctrl+WDelete the word before the cursor.
Ctrl+KDelete to the end of the line.
Ctrl+UDelete to the beginning of the line.
Ctrl+P / Ctrl+NBrowse history (up/down).
Ctrl+RReverse search history.
Shift+Up / Shift+DownScroll up / down.
Ctrl+XOpen External Editor to edit input.
Ctrl+VPaste clipboard content.
Alt+VPaste clipboard image.
Shift+TabToggle Permission Mode.
Ctrl+YToggle Bypass Permissions Mode.
Ctrl+TExpand to view the full Task list.
Ctrl+LClear screen.
Specific keys may vary slightly across different terminals and platforms; please refer to the mappings displayed by /shortcuts.

External Editor

Run /editor to configure the External Editor used for editing input. Once configured, pressing Ctrl+X opens the current input content in that editor, which is ideal for writing longer prompts.

Vim mode

Run /vim to toggle Vim edit mode. Once enabled, the Input Box supports common Vim operations:
  • Movement: h / j / k / l (left/down/up/right).
  • Word movement: w (next word), b (previous word), e (end of word).
  • Line start/end: 0 (beginning of line), $ (end of line).
  • Enter edit mode: i (insert), a (append), o (new line).
  • Edit operations: d (delete), c (change), y (yank), x (delete character).
  • Undo/Redo: u (undo), Ctrl+R (redo).
The Status Bar displays the current Vim mode (INSERT / NORMAL).

Voice Input

Run /voice to enable Voice Input, which converts speech to text via speech recognition. The speech recognition service address can be specified via the Environment Variable QODER_ASR_URL.

Other UI Options

The ui group contains many other adjustable options. Common ones include:
Configuration ItemDefaultDescription
ui.hideBannerfalseHide Startup banner.
ui.hideFooterfalseHide Footer.
ui.showLineNumberstrueShow line numbers in conversations.
ui.loadingPhrasesoffDisplay during loading: tips / witty / all / off.
ui.dynamicWindowTitletrueDynamically update the terminal window title with status icons.
ui.accessibility.screenReaderfalseScreen Reader Mode, outputs plain text (requires restart).
For a complete list of UI configuration items, see Configuration Item Reference.

Next step