Сочетания клавиш

useKeymap, последовательности клавиш, справочная панель ?, подсказки клавиш и палитра команд.

Объявите сочетания клавиш один раз с помощью useKeymap. Text.js направляет их обработчикам, перечисляет во всплывающей справке ?, показывает в нижней панели и позволяет искать их в палитре команд.

Вживую80×18 · booting Turbolog…tsx
preview://keymap:1
useKeymap(  {    "j, down": { label: "Next", run: next, hint: true },    "k, up": { label: "Previous", run: previous },    "g g": { label: "Go to top", run: top },    "ctrl+s": { label: "Save", run: save, hint: true },  },  { group: "Navigation" },);return (  <>    <StatusBar right={<Text color="subtle">main</Text>}>      <KeyHints />    </StatusBar>    <CommandPalette commands={commands} />    <KeyHelp />  </>);

useKeymap

СинтаксисЗначение
ctrl+kМодификаторы: ctrl alt shift meta mod
mod+k⌘ или Ctrl, в зависимости от того, что нажато
j, downАльтернативы
g gПоследовательность (1 секунда между нажатиями)
GВерхний регистр подразумевает Shift
?Печатные клавиши сопоставляются с символом

Значения — это обработчик или привязка с label, group, hint, disabled и noRepeat. Привязки без названия работают, но не отображаются во всплывающей справке.

useKeymapBindings() возвращает активные в данный момент привязки с названиями для ваших собственных нижних панелей и меню.

Раскладки клавиш работают через useInput, поэтому действуют обычные правила: поля ввода в фокусе имеют приоритет, совпавшая клавиша останавливает распространение события, а открытый <Modal> отключает привязки за его пределами. Передайте { priority, global, isActive }, чтобы изменить это поведение.

<KeyHelp>

Нажмите ?, чтобы увидеть все привязки с названиями, разбитые на группы. Справка перечисляет привязки, активные там, где она открыта.

<KeyHelp keys="?" title="Keyboard shortcuts" />

<KeyHints> и <StatusBar>

<KeyHints /> показывает привязки с отметкой hint: true или явно заданные items. <StatusBar> — однострочная нижняя панель со слотом right.

<StatusBar right={<Text color="subtle">▼ iad1</Text>}>  <KeyHints items={[{ keys: "ctrl+k", label: "commands" }]} /></StatusBar>

<Kbd>mod+k</Kbd> отображает одну клавишу. formatKeys("ctrl+shift+p") возвращает ⌃⇧P на macOS и ctrl+shift+P на остальных платформах.

<CommandPalette>

Ctrl+K (или Ctrl+P) открывает панель запуска с нечётким поиском по вашим командам и всем привязкам с названиями, подсвечивая совпавшие буквы.

<CommandPalette  commands={[{ id: "theme", label: "Toggle theme", group: "View", run: toggleTheme }]}/>
PropОписание
commands{ id, label, group?, keys?, keywords?, run }[]
keysСочетание клавиш для открытия (по умолчанию ctrl+k, ctrl+p; null для отключения)
includeKeymapОтображение привязок раскладки клавиш (по умолчанию true)
open / onOpenChangeУправляемое состояние

Палитра закрывается перед выполнением команды, поэтому команды могут открывать собственные модальные окна. fuzzyMatch и fuzzyFilter экспортируются для ваших собственных списков.

Изменить эту страницу на GitHub