اختصارات لوحة المفاتيح

⁦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