mirror of
https://codeberg.org/Kankys/ApolloNvim2025.git
synced 2026-11-11 08:34:36 +01:00
1494 lines
68 KiB
HTML
1494 lines
68 KiB
HTML
<!doctype html>
|
||
<html lang="cs">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title>⌨️ Klávesové zkratky | ApolloNvim</title>
|
||
|
||
<!-- Meta description & SEO -->
|
||
<meta
|
||
name="description"
|
||
content="Kompletní přehled klávesových zkratek Neovim a ApolloNvim. Pohyb, módy, editace, příkazy, vyhledávání a speciální zkratky na jednom místě."
|
||
/>
|
||
<meta name="author" content="Lukáš Kaňka" />
|
||
<meta
|
||
name="keywords"
|
||
content="ApolloNvim, Neovim, klávesové zkratky, vim zkratky, keyboard shortcuts, normal mode, insert mode"
|
||
/>
|
||
|
||
<!-- Open Graph -->
|
||
<meta property="og:type" content="website" />
|
||
<meta
|
||
property="og:url"
|
||
content="https://apollo-nvim.lukan.cz/zkratky.html"
|
||
/>
|
||
<meta property="og:title" content="⌨️ Klávesové zkratky | ApolloNvim" />
|
||
<meta
|
||
property="og:description"
|
||
content="Kompletní přehled klávesových zkratek Neovim a ApolloNvim na jednom místě."
|
||
/>
|
||
<meta property="og:image" content="../img/apollonvim.jpg" />
|
||
<meta property="og:locale" content="cs_CZ" />
|
||
<meta property="og:site_name" content="ApolloNvim" />
|
||
|
||
<!-- Twitter Card -->
|
||
<meta name="twitter:card" content="summary_large_image" />
|
||
<meta
|
||
name="twitter:title"
|
||
content="⌨️ Klávesové zkratky | ApolloNvim"
|
||
/>
|
||
<meta
|
||
name="twitter:description"
|
||
content="Kompletní přehled klávesových zkratek Neovim a ApolloNvim."
|
||
/>
|
||
<meta name="twitter:image" content="../img/apollonvim.jpg" />
|
||
|
||
<!-- Google Fonts -->
|
||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||
<link
|
||
href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap"
|
||
rel="stylesheet"
|
||
/>
|
||
|
||
<!-- Stylesheets -->
|
||
<link rel="stylesheet" href="../css/style.css" />
|
||
<link rel="stylesheet" href="../css/animations.css" />
|
||
|
||
<!-- Canonical -->
|
||
<link
|
||
rel="canonical"
|
||
href="https://apollo-nvim.lukan.cz/zkratky.html"
|
||
/>
|
||
|
||
<style>
|
||
/* ── Tab system ── */
|
||
.sc-tabs {
|
||
display: flex;
|
||
gap: 0.5rem;
|
||
flex-wrap: wrap;
|
||
margin-bottom: 2.5rem;
|
||
border-bottom: 1px solid var(--border);
|
||
padding-bottom: 0;
|
||
}
|
||
|
||
.sc-tab-btn {
|
||
background: none;
|
||
border: none;
|
||
border-bottom: 2px solid transparent;
|
||
color: var(--text-muted);
|
||
font-family: var(--font-sans, "Inter", sans-serif);
|
||
font-size: 0.9rem;
|
||
font-weight: 600;
|
||
padding: 0.65rem 1.1rem;
|
||
cursor: pointer;
|
||
transition:
|
||
color var(--transition),
|
||
border-color var(--transition);
|
||
margin-bottom: -1px;
|
||
letter-spacing: 0.02em;
|
||
}
|
||
|
||
.sc-tab-btn:hover {
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.sc-tab-btn[aria-selected="true"] {
|
||
color: var(--purple);
|
||
border-bottom-color: var(--purple);
|
||
}
|
||
|
||
.sc-panel {
|
||
display: none;
|
||
}
|
||
|
||
.sc-panel[aria-hidden="false"] {
|
||
display: block;
|
||
}
|
||
|
||
/* ── Section headings inside tabs ── */
|
||
.sc-section {
|
||
margin-bottom: 3rem;
|
||
}
|
||
|
||
.sc-section__title {
|
||
font-size: 1.1rem;
|
||
font-weight: 700;
|
||
color: var(--text-primary);
|
||
margin-bottom: 1rem;
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 0.5rem;
|
||
}
|
||
|
||
.sc-section__title::before {
|
||
content: "";
|
||
display: inline-block;
|
||
width: 3px;
|
||
height: 1em;
|
||
background: var(--purple);
|
||
border-radius: 99px;
|
||
}
|
||
|
||
/* ── Shortcuts table ── */
|
||
.sc-table-wrap {
|
||
overflow-x: auto;
|
||
border-radius: var(--radius-lg);
|
||
border: 1px solid var(--border);
|
||
}
|
||
|
||
.sc-table {
|
||
width: 100%;
|
||
border-collapse: collapse;
|
||
font-size: 0.875rem;
|
||
}
|
||
|
||
.sc-table thead {
|
||
background: rgba(139, 92, 246, 0.07);
|
||
}
|
||
|
||
.sc-table th {
|
||
text-align: left;
|
||
padding: 0.8rem 1.1rem;
|
||
font-size: 0.75rem;
|
||
font-weight: 700;
|
||
letter-spacing: 0.07em;
|
||
text-transform: uppercase;
|
||
color: var(--text-muted);
|
||
border-bottom: 1px solid var(--border);
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.sc-table td {
|
||
padding: 0.75rem 1.1rem;
|
||
color: var(--text-muted);
|
||
border-bottom: 1px solid var(--border);
|
||
line-height: 1.5;
|
||
vertical-align: middle;
|
||
}
|
||
|
||
.sc-table tr:last-child td {
|
||
border-bottom: none;
|
||
}
|
||
|
||
.sc-table tbody tr {
|
||
transition: background var(--transition);
|
||
}
|
||
|
||
.sc-table tbody tr:hover {
|
||
background: rgba(139, 92, 246, 0.04);
|
||
}
|
||
|
||
.sc-table td:first-child {
|
||
width: 38%;
|
||
}
|
||
|
||
/* ── kbd styling ── */
|
||
kbd {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
gap: 0.15rem;
|
||
background: var(--surface);
|
||
border: 1px solid var(--border);
|
||
border-bottom: 2px solid var(--border);
|
||
border-radius: 5px;
|
||
padding: 0.15em 0.45em;
|
||
font-family: var(--font-mono);
|
||
font-size: 0.8em;
|
||
font-weight: 600;
|
||
color: var(--text-primary);
|
||
white-space: nowrap;
|
||
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
|
||
}
|
||
|
||
.key-sep {
|
||
color: var(--text-muted);
|
||
font-size: 0.75rem;
|
||
margin: 0 0.15rem;
|
||
}
|
||
|
||
/* ── Mode flow diagram ── */
|
||
.mode-flow {
|
||
display: flex;
|
||
align-items: center;
|
||
flex-wrap: wrap;
|
||
gap: 0;
|
||
margin-bottom: 1.75rem;
|
||
padding: 1.25rem 1.5rem;
|
||
background: var(--surface);
|
||
border: 1px solid var(--border);
|
||
border-radius: var(--radius-lg);
|
||
overflow-x: auto;
|
||
}
|
||
|
||
.mode-node {
|
||
display: flex;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
gap: 0.3rem;
|
||
flex-shrink: 0;
|
||
}
|
||
|
||
.mode-node__box {
|
||
padding: 0.45rem 1rem;
|
||
border-radius: var(--radius-sm, 6px);
|
||
font-family: var(--font-mono);
|
||
font-size: 0.8rem;
|
||
font-weight: 700;
|
||
letter-spacing: 0.05em;
|
||
border: 2px solid;
|
||
}
|
||
|
||
.mode-node__box--normal {
|
||
background: rgba(139, 92, 246, 0.12);
|
||
border-color: var(--purple);
|
||
color: var(--purple);
|
||
}
|
||
.mode-node__box--insert {
|
||
background: rgba(6, 182, 212, 0.1);
|
||
border-color: var(--cyan);
|
||
color: var(--cyan);
|
||
}
|
||
.mode-node__box--visual {
|
||
background: rgba(236, 72, 153, 0.1);
|
||
border-color: var(--pink, #ec4899);
|
||
color: var(--pink, #ec4899);
|
||
}
|
||
.mode-node__box--command {
|
||
background: rgba(234, 179, 8, 0.1);
|
||
border-color: var(--yellow, #eab308);
|
||
color: var(--yellow, #eab308);
|
||
}
|
||
|
||
.mode-node__hint {
|
||
font-size: 0.65rem;
|
||
color: var(--text-muted);
|
||
font-family: var(--font-mono);
|
||
}
|
||
|
||
.mode-arrow {
|
||
display: flex;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
padding: 0 0.5rem;
|
||
color: var(--text-muted);
|
||
font-size: 0.65rem;
|
||
flex-shrink: 0;
|
||
gap: 0.15rem;
|
||
}
|
||
|
||
.mode-arrow__sym {
|
||
font-size: 1rem;
|
||
color: var(--border);
|
||
}
|
||
|
||
/* ── Intro card ── */
|
||
.intro-card {
|
||
background: var(--surface);
|
||
border: 1px solid var(--border);
|
||
border-left: 4px solid var(--purple);
|
||
border-radius: var(--radius-lg);
|
||
padding: 1.25rem 1.5rem;
|
||
font-size: 0.95rem;
|
||
color: var(--text-muted);
|
||
line-height: 1.7;
|
||
margin-bottom: 3rem;
|
||
}
|
||
|
||
/* ── Print CTA ── */
|
||
.print-cta {
|
||
text-align: center;
|
||
padding: 3rem 2rem;
|
||
background: linear-gradient(
|
||
135deg,
|
||
rgba(139, 92, 246, 0.07) 0%,
|
||
rgba(6, 182, 212, 0.04) 100%
|
||
);
|
||
border: 1px solid var(--border);
|
||
border-radius: var(--radius-lg);
|
||
}
|
||
|
||
.print-cta__title {
|
||
font-size: 1.3rem;
|
||
font-weight: 700;
|
||
color: var(--text-primary);
|
||
margin-bottom: 0.6rem;
|
||
}
|
||
|
||
.print-cta__subtitle {
|
||
font-size: 0.9rem;
|
||
color: var(--text-muted);
|
||
margin-bottom: 1.5rem;
|
||
}
|
||
|
||
/* Animate on scroll */
|
||
.animate-on-scroll {
|
||
opacity: 0;
|
||
transform: translateY(20px);
|
||
transition:
|
||
opacity 0.5s ease,
|
||
transform 0.5s ease;
|
||
}
|
||
|
||
.animate-on-scroll.visible {
|
||
opacity: 1;
|
||
transform: translateY(0);
|
||
}
|
||
|
||
/* ── Print styles ── */
|
||
@media print {
|
||
.navbar,
|
||
.hero,
|
||
.print-cta,
|
||
.footer,
|
||
.sc-tabs {
|
||
display: none !important;
|
||
}
|
||
.sc-panel {
|
||
display: block !important;
|
||
}
|
||
body {
|
||
background: white;
|
||
color: black;
|
||
}
|
||
.sc-table-wrap {
|
||
border: 1px solid #ccc;
|
||
}
|
||
.sc-table th,
|
||
.sc-table td {
|
||
border-color: #ccc;
|
||
}
|
||
kbd {
|
||
border: 1px solid #999;
|
||
background: #f5f5f5;
|
||
color: #111;
|
||
box-shadow: none;
|
||
}
|
||
}
|
||
</style>
|
||
</head>
|
||
|
||
<body>
|
||
<!-- ===================== NAVBAR ===================== -->
|
||
<header class="navbar" id="navbar">
|
||
<nav class="navbar__inner" aria-label="Hlavní navigace">
|
||
<a
|
||
href="../index.html"
|
||
class="navbar__logo"
|
||
aria-label="ApolloNvim – Domů"
|
||
>🚀 <span>ApolloNvim</span></a
|
||
>
|
||
<ul class="navbar__links" id="nav-links" role="list">
|
||
<li><a href="../index.html">Domů</a></li>
|
||
<li><a href="./instalace.html">Instalace</a></li>
|
||
<li><a href="./pluginy.html">Pluginy</a></li>
|
||
<li><a href="./tutorialy.html">Tutoriály</a></li>
|
||
<li><a href="./novinky.html">Novinky</a></li>
|
||
<li>
|
||
<a
|
||
href="./zkratky.html"
|
||
class="active"
|
||
aria-current="page"
|
||
>Zkratky</a
|
||
>
|
||
</li>
|
||
</ul>
|
||
<button
|
||
id="hamburger"
|
||
class="navbar__hamburger"
|
||
aria-label="Otevřít menu"
|
||
aria-expanded="false"
|
||
aria-controls="mobile-menu"
|
||
>
|
||
<span></span><span></span><span></span>
|
||
</button>
|
||
</nav>
|
||
<div class="navbar__mobile" id="mobile-menu" hidden>
|
||
<ul role="list">
|
||
<li><a href="../index.html">Domů</a></li>
|
||
<li><a href="./instalace.html">Instalace</a></li>
|
||
<li><a href="./pluginy.html">Pluginy</a></li>
|
||
<li><a href="./tutorialy.html">Tutoriály</a></li>
|
||
<li><a href="./novinky.html">Novinky</a></li>
|
||
<li><a href="./zkratky.html" class="active">Zkratky</a></li>
|
||
</ul>
|
||
</div>
|
||
</header>
|
||
|
||
<main id="main-content">
|
||
<!-- ===================== HERO ===================== -->
|
||
<section
|
||
class="hero"
|
||
aria-labelledby="hero-title"
|
||
style="min-height: 42vh"
|
||
>
|
||
<canvas id="particles-canvas" aria-hidden="true"></canvas>
|
||
<div
|
||
class="hero__content"
|
||
style="padding-top: 6rem; padding-bottom: 4rem"
|
||
>
|
||
<div class="hero__badge">
|
||
<span>⌨️ Cheatsheet</span>
|
||
</div>
|
||
<h1 id="hero-title" class="hero__title">
|
||
Klávesové zkratky
|
||
</h1>
|
||
<p class="hero__subtitle">
|
||
Přehled výchozích klávesových zkratek Neovim
|
||
</p>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ===================== CONTENT ===================== -->
|
||
<section class="section" aria-label="Klávesové zkratky">
|
||
<div class="container">
|
||
<!-- Intro -->
|
||
<p class="intro-card animate-on-scroll">
|
||
<strong>Neovim</strong> je moderní verze Vim. Zvládnutí
|
||
klávesových zkratek je klíčem k efektivní práci – ruce
|
||
zůstávají na klávesnici a každá operace má svůj přesný
|
||
příkaz. Chvíli to trvá, ale vrátí se to stonásobně.
|
||
</p>
|
||
|
||
<!-- Tab navigation -->
|
||
<div
|
||
class="sc-tabs"
|
||
role="tablist"
|
||
aria-label="Kategorie zkratek"
|
||
>
|
||
<button
|
||
class="sc-tab-btn"
|
||
role="tab"
|
||
aria-selected="true"
|
||
aria-controls="panel-zakladni"
|
||
id="tab-zakladni"
|
||
>
|
||
Základní
|
||
</button>
|
||
<button
|
||
class="sc-tab-btn"
|
||
role="tab"
|
||
aria-selected="false"
|
||
aria-controls="panel-pokrocile"
|
||
id="tab-pokrocile"
|
||
>
|
||
Pokročilé
|
||
</button>
|
||
<button
|
||
class="sc-tab-btn"
|
||
role="tab"
|
||
aria-selected="false"
|
||
aria-controls="panel-apollo"
|
||
id="tab-apollo"
|
||
>
|
||
🚀 ApolloNvim zkratky
|
||
</button>
|
||
</div>
|
||
|
||
<!-- ══════════════════════════════════
|
||
PANEL 1 – ZÁKLADNÍ
|
||
═══════════════════════════════════ -->
|
||
<div
|
||
id="panel-zakladni"
|
||
role="tabpanel"
|
||
aria-labelledby="tab-zakladni"
|
||
aria-hidden="false"
|
||
class="sc-panel"
|
||
>
|
||
<!-- Pohyb -->
|
||
<div class="sc-section animate-on-scroll">
|
||
<h2 class="sc-section__title">🧭 Pohyb</h2>
|
||
<div class="sc-table-wrap">
|
||
<table
|
||
class="sc-table"
|
||
aria-label="Klávesové zkratky pro pohyb"
|
||
>
|
||
<thead>
|
||
<tr>
|
||
<th scope="col">Klávesa</th>
|
||
<th scope="col">Akce</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><kbd>h</kbd></td>
|
||
<td>Pohyb vlevo</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>j</kbd></td>
|
||
<td>Pohyb dolů</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>k</kbd></td>
|
||
<td>Pohyb nahoru</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>l</kbd></td>
|
||
<td>Pohyb vpravo</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>w</kbd></td>
|
||
<td>
|
||
Přesun na začátek dalšího slova
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>b</kbd></td>
|
||
<td>
|
||
Přesun na začátek předchozího
|
||
slova
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>g</kbd><kbd>g</kbd></td>
|
||
<td>Přesun na začátek dokumentu</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>G</kbd></td>
|
||
<td>Přesun na konec dokumentu</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Módy -->
|
||
<div class="sc-section animate-on-scroll">
|
||
<h2 class="sc-section__title">🔄 Módy</h2>
|
||
|
||
<!-- Mode flow diagram -->
|
||
<div
|
||
class="mode-flow"
|
||
aria-label="Diagram přechodu mezi módy Neovim"
|
||
>
|
||
<div class="mode-node">
|
||
<div
|
||
class="mode-node__box mode-node__box--normal"
|
||
>
|
||
NORMAL
|
||
</div>
|
||
<span class="mode-node__hint">výchozí</span>
|
||
</div>
|
||
<div class="mode-arrow" aria-hidden="true">
|
||
<span class="mode-arrow__sym">⇄</span>
|
||
<span>i / ESC</span>
|
||
</div>
|
||
<div class="mode-node">
|
||
<div
|
||
class="mode-node__box mode-node__box--insert"
|
||
>
|
||
INSERT
|
||
</div>
|
||
<span class="mode-node__hint">i, a, o</span>
|
||
</div>
|
||
<div class="mode-arrow" aria-hidden="true">
|
||
<span class="mode-arrow__sym">⇄</span>
|
||
<span>v / ESC</span>
|
||
</div>
|
||
<div class="mode-node">
|
||
<div
|
||
class="mode-node__box mode-node__box--visual"
|
||
>
|
||
VISUAL
|
||
</div>
|
||
<span class="mode-node__hint">v, V</span>
|
||
</div>
|
||
<div class="mode-arrow" aria-hidden="true">
|
||
<span class="mode-arrow__sym">⇄</span>
|
||
<span>: / ESC</span>
|
||
</div>
|
||
<div class="mode-node">
|
||
<div
|
||
class="mode-node__box mode-node__box--command"
|
||
>
|
||
COMMAND
|
||
</div>
|
||
<span class="mode-node__hint">:</span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sc-table-wrap">
|
||
<table
|
||
class="sc-table"
|
||
aria-label="Klávesové zkratky pro přepínání módů"
|
||
>
|
||
<thead>
|
||
<tr>
|
||
<th scope="col">Klávesa</th>
|
||
<th scope="col">Akce</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><kbd>ESC</kbd></td>
|
||
<td>Přepnutí do NORMAL módu</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>i</kbd></td>
|
||
<td>INSERT – vložit před kurzor</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>I</kbd></td>
|
||
<td>
|
||
INSERT – vložit na začátek řádku
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>a</kbd></td>
|
||
<td>INSERT – vložit za kurzor</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>A</kbd></td>
|
||
<td>
|
||
INSERT – vložit na konec řádku
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>v</kbd></td>
|
||
<td>Přepnutí do VISUAL módu</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<kbd>Shift</kbd
|
||
><span class="key-sep">+</span
|
||
><kbd>:</kbd>
|
||
</td>
|
||
<td>Přepnutí do COMMAND módu</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Editace v NORMAL módu -->
|
||
<div class="sc-section animate-on-scroll">
|
||
<h2 class="sc-section__title">
|
||
✏️ Editace v NORMAL módu
|
||
</h2>
|
||
<div class="sc-table-wrap">
|
||
<table
|
||
class="sc-table"
|
||
aria-label="Klávesové zkratky pro editaci"
|
||
>
|
||
<thead>
|
||
<tr>
|
||
<th scope="col">Klávesa</th>
|
||
<th scope="col">Akce</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><kbd>d</kbd><kbd>d</kbd></td>
|
||
<td>Smazání celého řádku</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>d</kbd><kbd>w</kbd></td>
|
||
<td>Smazání slova</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>y</kbd><kbd>y</kbd></td>
|
||
<td>Kopírování řádku (yank)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>p</kbd></td>
|
||
<td>Vložení pod kurzor</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>P</kbd></td>
|
||
<td>Vložení před kurzor</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>u</kbd></td>
|
||
<td>Vrácení změny (undo)</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<kbd>Ctrl</kbd
|
||
><span class="key-sep">+</span
|
||
><kbd>r</kbd>
|
||
</td>
|
||
<td>Krok vpřed (redo)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>.</kbd></td>
|
||
<td>
|
||
Opakování posledního příkazu
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<kbd>Ctrl</kbd
|
||
><span class="key-sep">+</span
|
||
><kbd>w</kbd>
|
||
</td>
|
||
<td>Přepínání mezi okny</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Vyhledávání -->
|
||
<div class="sc-section animate-on-scroll">
|
||
<h2 class="sc-section__title">🔍 Vyhledávání</h2>
|
||
<div class="sc-table-wrap">
|
||
<table
|
||
class="sc-table"
|
||
aria-label="Klávesové zkratky pro vyhledávání"
|
||
>
|
||
<thead>
|
||
<tr>
|
||
<th scope="col">
|
||
Klávesa / Příkaz
|
||
</th>
|
||
<th scope="col">Akce</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>
|
||
<kbd>/</kbd><code>text</code>
|
||
</td>
|
||
<td>Vyhledání textu dopředu</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>n</kbd></td>
|
||
<td>Přechod na další výskyt</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>N</kbd></td>
|
||
<td>Přechod na předchozí výskyt</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>:s/old/new/g</code></td>
|
||
<td>
|
||
Nahrazení textu v celém
|
||
dokumentu
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- /#panel-zakladni -->
|
||
|
||
<!-- ══════════════════════════════════
|
||
PANEL 2 – POKROČILÉ
|
||
═══════════════════════════════════ -->
|
||
<div
|
||
id="panel-pokrocile"
|
||
role="tabpanel"
|
||
aria-labelledby="tab-pokrocile"
|
||
aria-hidden="true"
|
||
class="sc-panel"
|
||
>
|
||
<!-- Command mód -->
|
||
<div class="sc-section animate-on-scroll">
|
||
<h2 class="sc-section__title">
|
||
💻 Command mód <kbd>:</kbd>
|
||
</h2>
|
||
<div class="sc-table-wrap">
|
||
<table
|
||
class="sc-table"
|
||
aria-label="Příkazy command módu"
|
||
>
|
||
<thead>
|
||
<tr>
|
||
<th scope="col">Příkaz</th>
|
||
<th scope="col">Akce</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><code>:e název</code></td>
|
||
<td>Vytvoří / otevře soubor</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>:w</code></td>
|
||
<td>Uložení souboru</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>:q</code></td>
|
||
<td>Zavření editoru</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>:wq</code></td>
|
||
<td>Uložení a zavření</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>:q!</code></td>
|
||
<td>
|
||
Zavření bez uložení (vynucené)
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>:vs</code></td>
|
||
<td>Vertikální rozdělení okna</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>:sp</code></td>
|
||
<td>Horizontální rozdělení okna</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>:colorscheme</code></td>
|
||
<td>Změna barevného tématu</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>:term</code></td>
|
||
<td>
|
||
Otevření integrovaného terminálu
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>:PlugInstall</code></td>
|
||
<td>
|
||
Instalace pluginů přes vim-plug
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>:CocInstall</code></td>
|
||
<td>
|
||
Instalace rozšíření přes
|
||
Coc.nvim
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Pokročilá editace -->
|
||
<div class="sc-section animate-on-scroll">
|
||
<h2 class="sc-section__title">
|
||
⚡ Pokročilá editace
|
||
</h2>
|
||
<div class="sc-table-wrap">
|
||
<table
|
||
class="sc-table"
|
||
aria-label="Pokročilé zkratky pro editaci"
|
||
>
|
||
<thead>
|
||
<tr>
|
||
<th scope="col">Klávesa</th>
|
||
<th scope="col">Akce</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>
|
||
<kbd>c</kbd><kbd>i</kbd
|
||
><kbd>w</kbd>
|
||
</td>
|
||
<td>
|
||
Změna celého slova pod kurzorem
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<kbd>c</kbd><kbd>i</kbd
|
||
><kbd>"</kbd>
|
||
</td>
|
||
<td>Změna obsahu uvozovek</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<kbd>d</kbd><kbd>i</kbd
|
||
><kbd>(</kbd>
|
||
</td>
|
||
<td>Smazání obsahu závorek</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<kbd>y</kbd><kbd>i</kbd
|
||
><kbd>{</kbd>
|
||
</td>
|
||
<td>
|
||
Kopírování obsahu složených
|
||
závorek
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>V</kbd></td>
|
||
<td>
|
||
VISUAL mód – výběr celých řádků
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<kbd>Ctrl</kbd
|
||
><span class="key-sep">+</span
|
||
><kbd>v</kbd>
|
||
</td>
|
||
<td>
|
||
VISUAL BLOCK mód – sloupcový
|
||
výběr
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>%</kbd></td>
|
||
<td>Skok na párovou závorku</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>*</kbd></td>
|
||
<td>
|
||
Vyhledání slova pod kurzorem
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>q</kbd><kbd>a</kbd></td>
|
||
<td>
|
||
Zahájení nahrávání makra do
|
||
registru a
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>@</kbd><kbd>a</kbd></td>
|
||
<td>Přehrání makra z registru a</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>z</kbd><kbd>z</kbd></td>
|
||
<td>
|
||
Vycentrování kurzoru na
|
||
obrazovce
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<kbd>Ctrl</kbd
|
||
><span class="key-sep">+</span
|
||
><kbd>o</kbd>
|
||
</td>
|
||
<td>Skok zpět v historii pozic</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<kbd>Ctrl</kbd
|
||
><span class="key-sep">+</span
|
||
><kbd>i</kbd>
|
||
</td>
|
||
<td>Skok vpřed v historii pozic</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Okna a záložky -->
|
||
<div class="sc-section animate-on-scroll">
|
||
<h2 class="sc-section__title">
|
||
🪟 Okna a záložky (Buffers)
|
||
</h2>
|
||
<div class="sc-table-wrap">
|
||
<table
|
||
class="sc-table"
|
||
aria-label="Zkratky pro správu oken a záložek"
|
||
>
|
||
<thead>
|
||
<tr>
|
||
<th scope="col">
|
||
Klávesa / Příkaz
|
||
</th>
|
||
<th scope="col">Akce</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>
|
||
<kbd>Ctrl</kbd
|
||
><span class="key-sep">+</span
|
||
><kbd>w</kbd> <kbd>h/j/k/l</kbd>
|
||
</td>
|
||
<td>
|
||
Pohyb mezi okny
|
||
(vlevo/dolů/nahoru/vpravo)
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<kbd>Ctrl</kbd
|
||
><span class="key-sep">+</span
|
||
><kbd>w</kbd> <kbd>=</kbd>
|
||
</td>
|
||
<td>Vyrovnání velikosti oken</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>:tabnew</code></td>
|
||
<td>Otevření nové záložky</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>g</kbd><kbd>t</kbd></td>
|
||
<td>Přechod na další záložku</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>g</kbd><kbd>T</kbd></td>
|
||
<td>
|
||
Přechod na předchozí záložku
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>:bn</code></td>
|
||
<td>Přechod na další buffer</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>:bp</code></td>
|
||
<td>Přechod na předchozí buffer</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>:bd</code></td>
|
||
<td>Zavření aktuálního bufferu</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- /#panel-pokrocile -->
|
||
|
||
<!-- ══════════════════════════════════
|
||
PANEL 3 – APOLLONVIM
|
||
═══════════════════════════════════ -->
|
||
<div
|
||
id="panel-apollo"
|
||
role="tabpanel"
|
||
aria-labelledby="tab-apollo"
|
||
aria-hidden="true"
|
||
class="sc-panel"
|
||
>
|
||
<!-- Apollo zkratky -->
|
||
<div class="sc-section animate-on-scroll">
|
||
<h2 class="sc-section__title">
|
||
🚀 ApolloNvim speciální zkratky
|
||
</h2>
|
||
<p
|
||
style="
|
||
font-size: 0.875rem;
|
||
color: var(--text-muted);
|
||
margin-bottom: 1.25rem;
|
||
line-height: 1.6;
|
||
"
|
||
>
|
||
Tyto zkratky jsou specifické pro konfiguraci
|
||
ApolloNvim a mohou vyžadovat příslušné pluginy.
|
||
</p>
|
||
<div class="sc-table-wrap">
|
||
<table
|
||
class="sc-table"
|
||
aria-label="ApolloNvim speciální zkratky"
|
||
>
|
||
<thead>
|
||
<tr>
|
||
<th scope="col">Klávesa</th>
|
||
<th scope="col">Akce</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>
|
||
<kbd>Ctrl</kbd
|
||
><span class="key-sep">+</span
|
||
><kbd>k</kbd>
|
||
</td>
|
||
<td>
|
||
Zakomentování / odkomentování
|
||
kódu
|
||
<span
|
||
class="badge badge--purple"
|
||
style="
|
||
font-size: 0.65rem;
|
||
padding: 0.15rem 0.5rem;
|
||
"
|
||
>NERD Commenter</span
|
||
>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<kbd>Ctrl</kbd
|
||
><span class="key-sep">+</span
|
||
><kbd>Shift</kbd
|
||
><span class="key-sep">+</span
|
||
><kbd>V</kbd>
|
||
</td>
|
||
<td>
|
||
Vložení z externího zdroje
|
||
(systémová schránka, INSERT mód)
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>Tab</kbd></td>
|
||
<td>
|
||
Procházení barevných témat v
|
||
command módu
|
||
<code>:colorscheme</code>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Plugin zkratky -->
|
||
<div class="sc-section animate-on-scroll">
|
||
<h2 class="sc-section__title">
|
||
🔭 Telescope zkratky
|
||
</h2>
|
||
<div class="sc-table-wrap">
|
||
<table
|
||
class="sc-table"
|
||
aria-label="Telescope plugin zkratky"
|
||
>
|
||
<thead>
|
||
<tr>
|
||
<th scope="col">Příkaz</th>
|
||
<th scope="col">Akce</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>
|
||
<code
|
||
>:Telescope find_files</code
|
||
>
|
||
</td>
|
||
<td>
|
||
Vyhledávání souborů v projektu
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code
|
||
>:Telescope live_grep</code
|
||
>
|
||
</td>
|
||
<td>
|
||
Fulltextové vyhledávání v
|
||
souborech
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>:Telescope buffers</code>
|
||
</td>
|
||
<td>Přehled otevřených bufferů</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code
|
||
>:Telescope help_tags</code
|
||
>
|
||
</td>
|
||
<td>
|
||
Vyhledávání v nápovědě Neovim
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code
|
||
>:Telescope
|
||
colorscheme</code
|
||
>
|
||
</td>
|
||
<td>
|
||
Vizuální přepínač barevných
|
||
témat
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- NERDTree zkratky -->
|
||
<div class="sc-section animate-on-scroll">
|
||
<h2 class="sc-section__title">
|
||
🌳 NERDTree zkratky
|
||
</h2>
|
||
<div class="sc-table-wrap">
|
||
<table
|
||
class="sc-table"
|
||
aria-label="NERDTree zkratky"
|
||
>
|
||
<thead>
|
||
<tr>
|
||
<th scope="col">
|
||
Klávesa / Příkaz
|
||
</th>
|
||
<th scope="col">Akce</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><code>:NERDTree</code></td>
|
||
<td>Otevření souborového stromu</td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
<code>:NERDTreeToggle</code>
|
||
</td>
|
||
<td>
|
||
Přepnutí viditelnosti NERDTree
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>o</kbd></td>
|
||
<td>
|
||
Otevření souboru / rozbalení
|
||
složky
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>t</kbd></td>
|
||
<td>
|
||
Otevření souboru v nové záložce
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>i</kbd></td>
|
||
<td>
|
||
Otevření souboru v horizontálním
|
||
splitu
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>s</kbd></td>
|
||
<td>
|
||
Otevření souboru ve vertikálním
|
||
splitu
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>m</kbd></td>
|
||
<td>
|
||
Otevření menu (přejmenovat,
|
||
smazat, vytvořit)
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td><kbd>R</kbd></td>
|
||
<td>Obnovení stromu</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!-- /#panel-apollo -->
|
||
|
||
<!-- ── Print CTA ── -->
|
||
<div
|
||
class="print-cta animate-on-scroll"
|
||
style="margin-top: 3rem"
|
||
>
|
||
<p
|
||
style="font-size: 2rem; margin-bottom: 0.5rem"
|
||
aria-hidden="true"
|
||
>
|
||
🖨️
|
||
</p>
|
||
<h2 class="print-cta__title">Vytisknout přehled</h2>
|
||
<p class="print-cta__subtitle">
|
||
Uložte si přehled zkratek jako PDF nebo vytiskněte
|
||
na papír pro offline referenci.
|
||
</p>
|
||
<button
|
||
class="btn-primary"
|
||
onclick="window.print()"
|
||
aria-label="Vytisknout přehled klávesových zkratek"
|
||
>
|
||
<span aria-hidden="true">🖨️</span> Vytisknout
|
||
přehled
|
||
</button>
|
||
</div>
|
||
</div>
|
||
<!-- /.container -->
|
||
</section>
|
||
</main>
|
||
|
||
<!-- ===================== FOOTER ===================== -->
|
||
<footer class="footer" role="contentinfo">
|
||
<div class="container">
|
||
<div class="footer__grid">
|
||
<div class="footer__brand">
|
||
<a
|
||
href="../index.html"
|
||
class="footer__logo"
|
||
aria-label="ApolloNvim – Domů"
|
||
>
|
||
🚀 ApolloNvim
|
||
</a>
|
||
<p class="footer__tagline">
|
||
Rychlý, lehký a plně konfigurovatelný Neovim pro
|
||
Front-End vývojáře.
|
||
</p>
|
||
<p
|
||
class="footer__love"
|
||
aria-label="Vytvořeno s láskou a klávesnicí"
|
||
>
|
||
Made with ❤️ and ⌨️
|
||
</p>
|
||
</div>
|
||
|
||
<nav class="footer__nav" aria-label="Patička navigace">
|
||
<h4 class="footer__nav-title">Navigace</h4>
|
||
<ul class="footer__nav-list" role="list">
|
||
<li>
|
||
<a href="../index.html" class="footer__link"
|
||
>Domů</a
|
||
>
|
||
</li>
|
||
<li>
|
||
<a href="./instalace.html" class="footer__link"
|
||
>Instalace</a
|
||
>
|
||
</li>
|
||
<li>
|
||
<a href="./pluginy.html" class="footer__link"
|
||
>Pluginy</a
|
||
>
|
||
</li>
|
||
<li>
|
||
<a href="./tutorialy.html" class="footer__link"
|
||
>Tutoriály</a
|
||
>
|
||
</li>
|
||
<li>
|
||
<a href="./novinky.html" class="footer__link"
|
||
>Novinky</a
|
||
>
|
||
</li>
|
||
<li>
|
||
<a href="./zkratky.html" class="footer__link"
|
||
>Zkratky</a
|
||
>
|
||
</li>
|
||
</ul>
|
||
</nav>
|
||
|
||
<div class="footer__links">
|
||
<h4 class="footer__nav-title">Externe</h4>
|
||
<ul class="footer__nav-list" role="list">
|
||
<li>
|
||
<a
|
||
href="https://t.me/apollonvim"
|
||
class="footer__link"
|
||
target="_blank"
|
||
rel="noopener noreferrer"
|
||
aria-label="Telegram (otevře se v novém okně)"
|
||
>
|
||
✈️ Telegram
|
||
</a>
|
||
</li>
|
||
<li>
|
||
<a
|
||
href="https://codeberg.org/Kankys/ApolloNvim2025"
|
||
class="footer__link"
|
||
target="_blank"
|
||
rel="noopener noreferrer"
|
||
aria-label="Codeberg repozitář (otevře se v novém okně)"
|
||
>
|
||
🏔️ Codeberg
|
||
</a>
|
||
</li>
|
||
<li>
|
||
<a
|
||
href="https://lukaskanka.cz/"
|
||
class="footer__link"
|
||
target="_blank"
|
||
rel="noopener noreferrer"
|
||
aria-label="Web autora (otevře se v novém okně)"
|
||
>
|
||
🧑💻 Web autora
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="footer__bottom">
|
||
<p class="footer__copy">
|
||
Copyright © 2024 – 2026 🚀 ApolloNvim / Lukáš
|
||
Kaňka
|
||
</p>
|
||
<p class="footer__version">
|
||
<span class="badge badge--version">v26.09</span>
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
<!-- ===================== SCRIPTS ===================== -->
|
||
<script src="../js/particles.js"></script>
|
||
<script src="../js/main.js"></script>
|
||
<script>
|
||
// ── Tab switching ──
|
||
(function () {
|
||
const tabs = document.querySelectorAll(
|
||
'.sc-tab-btn[role="tab"]',
|
||
);
|
||
const panels = document.querySelectorAll(
|
||
'.sc-panel[role="tabpanel"]',
|
||
);
|
||
|
||
function activateTab(selectedTab) {
|
||
tabs.forEach(function (tab) {
|
||
const isSelected = tab === selectedTab;
|
||
tab.setAttribute("aria-selected", String(isSelected));
|
||
});
|
||
panels.forEach(function (panel) {
|
||
const isTarget =
|
||
panel.id ===
|
||
selectedTab.getAttribute("aria-controls");
|
||
panel.setAttribute("aria-hidden", String(!isTarget));
|
||
});
|
||
}
|
||
|
||
tabs.forEach(function (tab) {
|
||
tab.addEventListener("click", function () {
|
||
activateTab(tab);
|
||
});
|
||
|
||
// Keyboard: arrow keys
|
||
tab.addEventListener("keydown", function (e) {
|
||
const idx = Array.from(tabs).indexOf(tab);
|
||
if (e.key === "ArrowRight") {
|
||
tabs[(idx + 1) % tabs.length].focus();
|
||
activateTab(tabs[(idx + 1) % tabs.length]);
|
||
}
|
||
if (e.key === "ArrowLeft") {
|
||
tabs[(idx - 1 + tabs.length) % tabs.length].focus();
|
||
activateTab(
|
||
tabs[(idx - 1 + tabs.length) % tabs.length],
|
||
);
|
||
}
|
||
});
|
||
});
|
||
})();
|
||
|
||
// ── Animate on scroll ──
|
||
(function () {
|
||
const elements =
|
||
document.querySelectorAll(".animate-on-scroll");
|
||
if (!elements.length) return;
|
||
|
||
const observer = new IntersectionObserver(
|
||
function (entries) {
|
||
entries.forEach(function (entry) {
|
||
if (entry.isIntersecting) {
|
||
entry.target.classList.add("visible");
|
||
observer.unobserve(entry.target);
|
||
}
|
||
});
|
||
},
|
||
{ threshold: 0.08, rootMargin: "0px 0px -30px 0px" },
|
||
);
|
||
|
||
elements.forEach(function (el, i) {
|
||
el.style.transitionDelay = (i % 5) * 70 + "ms";
|
||
observer.observe(el);
|
||
});
|
||
})();
|
||
</script>
|
||
</body>
|
||
</html>
|