During the use of dsh-TUI, operations such as input editing, session history, and view panel switching are mainly performed through keyboard shortcuts. With so many key bindings, the memory burden can be high. The dsh-tui-keys plugin is intended to solve the “discoverability” problem: through a visual panel, it allows users to look up key bindings without leaving the current context.

It is a full-screen, grouped, searchable shortcut lookup panel maintained by FUSU123fusu. It is opened with the /keys command and covers key bindings for core scenarios such as input, sessions, views, and mode switching.

Core Features

  • Full-screen panel: Enter /keys to open the panel and view all key bindings.
  • Navigation: Supports ↑/↓ to move, PgUp/PgDn to page, / to search, and Esc to exit.
  • Smart skipping: When navigating, group headers are automatically skipped.
  • Search filtering: After pressing /, you can filter across key bindings and Chinese/English descriptions.
  • Environment compatibility: If the host does not support scene, it automatically falls back to a grouped text list.
  • Language following: The interface language follows the current system’s /lang setting.
  • Zero dependencies: No runtime dependencies.

Installation and Enabling

dsh plugin --profile <你的profile> add file:dsh-tui-keys-0.1.0.tgz

Typical Usage

  1. Open the panel: In dsh-TUI, enter /keys.
  2. Navigate the list: Use the arrow keys ↑ and ↓ to browse; use PgUp and PgDn to page.
  3. Search key bindings: Press / to enter search mode, then enter a keyword (Chinese and English descriptions are supported) to filter the list.
  4. Exit the panel: Press Esc to clear the search content first, then close the panel.

Use Cases and Notes

  • Suitable for dsh-TUI users who need to switch modes frequently or perform complex input operations.
  • Data snapshot: The key binding data has been checked against dsh-TUI 0.8.x. Because TUI iterations are fast, this list is a current snapshot, not an authoritative source.
  • If you find any key binding drift, issues and PRs to update lib/bindings.js are welcome.