<?php
$items = [
    [
        "title" => "1. Jak nainstalovat vim.plug do Neovim",
        "content" => "1. Jak nainstalovat vim.plug do Neovim",
        "id" => "1",
    ],
    [
        "title" => "2. Klávesové zkratky",
        "content" => "2. KLávesové zkratky.",
        "id" => "2",
    ],
    [
        "title" => "3. Jak nainstalovat Codeium do Neovim",
        "content" => "3. Jak nainstalovat Codeium do Neovim",
        "id" => "3",
    ],
    [
        "title" => "4. Telescope - Dalekohled",
        "content" => "4. Telescope - Dalekohled",
        "id" => "4",
    ],
]; ?>
<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta name="description" content="ApolloNvim modální editor" />
	<meta name="keywords" content="Projekt modálního editoru" />
	<meta name="author" content="Lukáš Kaňka" />
	<link rel="stylesheet" href="assets/style.css" />
	<!--nav bar-->
	<script src="https://kit.fontawesome.com/0a43c6cd1f.js" crossorigin="anonymous"></script>
	<!--icons dark, go to up-->
	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" />
	<!--ubuntu fonts-->
	<style>
		@import url("https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap");
	</style>
	<!--         líbivé   ikony -->
	<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
		integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY=" crossorigin="anonymous" />
	<title>🚀 ApolloNvim</title>
</head>

<body>
	<?php require "assets/header.php"; ?>

	<div class="flexbox">

		<!-- <div class="menu-conteiner"> -->

		<div class="menu-navigation">
			<h3>Wiki:</h3>
			<ul class="accordion">
				<?php foreach ($items as $item): ?>
					<li>
						<button class="accordion-button" onclick="location.href='#<?php echo htmlspecialchars(
          $item["id"]
      ); ?>'"><?php echo htmlspecialchars($item["title"]); ?></button>
						<div class="accordion-content">
							<a href="#<?php echo htmlspecialchars(
           $item["id"]
       ); ?>"><?php echo htmlspecialchars($item["content"]); ?></a>
						</div>
					</li>
				<?php endforeach; ?>

			</ul>
		</div>


		<div class="text-title">
			<h1>ApolloNvim - Modální editor wiki</h1>
			<hr>
			<div id="1">
				<h2>1. Jak nainstalovat vim.plug do Neovim</h2>
				<p>Nejprve si však zálohujte své aktuální nastavení Neovim!!!</p>
				<p>Linux & Mac</p>
				<div class="code-box">
					<pre id="code-content">
			<!-- Vaš kód sem -->
			~/.config/nvim/init.vim
					  </pre>

				</div>
				<p>Windows:</p>
				<div class="code-box">
					<pre id="code-content">
			<!-- Vaš kód sem -->
			~\AppData\Local\nvim\init.vim
					  </pre>

				</div>

				<p>Běžte na tuto <a class="green" href="https://github.com/junegunn/vim-plug">stránku</a> pod
					Installation si najděte svůj operační systém a zkopírujte odkaz pod ním do svého terminálu a pomocí
					Enter nainstalujete vim.plug.</p>

				<p>Na Linuxu a macOS to bude tento příkaz:</p>
				<div class="code-box">
					<pre id="code-content">
 sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \<br>
	   https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
					  </pre>

				</div>
				<p>Na Windows to bude tento příkaz:</p>
				<div class="code-box">
					<pre id="code-content">
iwr -useb https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim |`<br>
	ni "$(@($env:XDG_DATA_HOME, $env:LOCALAPPDATA)[$null -eq $env:XDG_DATA_HOME])/nvim-data/site/autoload/plug.vim" -Force
					  </pre>

				</div>


				<p>Dále si otevřeme soubor <strong><code>init.vim</code></strong> a pokud ho nemáme tak si ho vytvoříme
					zde:</p>

				<div class="code-box">
					<pre id="code-content">
			<!-- Vaš kód sem -->
			~/.config/nvim/init.vim
					  </pre>

				</div>
				<p>Windows:</p>
				<div class="code-box">
					<pre id="code-content">
			<!-- Vaš kód sem -->
			~\AppData\Local\nvim\init.vim
					  </pre>

				</div>
				<p>A do něj vložíme a následně uložíme tento kód:</p>
				<div class="code-box">
					<pre id="code-content">
call plug#begin(has('nvim') ? stdpath('data') . '/plugged' : '~/.vim/plugged')<br>
# Jsem budeš v budoucnu vkládat pluginy. Začínající PLug a adresa ke stažení<br>
call plug#end()
					  </pre>

				</div>

				<p>A příkazem Nvim v terminálu spustíme Neovim. Pokud vám vyskočí chybové hlášení jen ho odklikněte.
				<p>

				<p>Pomocí Ctrl + : se dostanete do příkazového řádku a tam napíšete PlugInstall
				<p>

				<p>A restartujeme Neovim. Příkazem Ctrl + : do příkazového řádku napíšete q a restartujeme Neovim.
				<p>

				<p>Takto pokaždé když si přidáte do init.vim pluginy, příkazem PlugInstall je nainstalujete a
					restartujeme Neovim.</p>
			</div>
			<hr>
			<div id="2">
				<h2>2. Klávesové zkratky</h2>
				<p>Default klávesové zkratky</p>
				<h4>Základní pohyb:</h4>
				<ul class="green">
					<li>h - Pohyb vlevo</li>
					<li>j - Pohyb dolů</li>
					<li>k - Pohyb nahoru</li>
					<li>l - Pohyb vpravo</li>
					<li>w - Přesun na začátek dalšího slova</li>
					<li>b - Přesun na začátek předchozího slova</li>
					<li>gg - Přesun na začátek dokumentu</li>
					<li>G - Přesun na konec dokumentu</li>
				</ul>
				<h4>Visuální mód:</h4>
				<p>Do něj se přepnu v Normal módu pomocí <strong><code>v</code></strong> pohybem kde byl kurzor mohu
					označovat text.</p>
				<h4>Normální mód - NORMAL:</h4>
				<p>Do normál módu se z jiných přesunu pomocí <strong><code>ESC</code></strong></p>
				<ul class="green">
					<li>i - Přepnutí do režimu vkládání před kurzor</li>
					<li>I - Přepnutí do režimu vkládání na začátek řádku</li>
					<li>a - Přepnutí do režimu vkládání za kurzor</li>
					<li>A - Přepnutí do režimu vkládání na konec řádku</li>
					<li>o - Vložení nového řádku pod aktuálním řádkem</li>
					<li>O - Vložení nového řádku nad aktuálním řádkem</li>
					<li>dd - Smazání řádku</li>
					<li>dw - Smazání slova</li>
					<li>yy - Kopírování řádku</li>
					<li>p - Vložení obsahu schránky pod kurzor</li>
					<li>P - Vložení obsahu schránky před kurzor</li>
					<li>u - Vrácení poslední provedené akce</li>
					<li>Ctrl + r - Krok do předu opak u</li>
					<li>q - Zavře okno</li>
					<li>. - Poslední příkaz</li>
					<li>Ctrl + w - Přepínání oken</li>
				</ul>
				<h4>Command mód:</h4>
				<p>Command mód vyvoláme pomocí <strong><code>SHIFT + :</code></strong></p>
				<ul class="green">
					<li>:e + jméno souboru - Vytvoří nový soubor - :e index.html</li>
					<li>:w - Uložení změn</li>
					<li>:q - Opuštění editoru</li>
					<li>:wq - Uložení změn a opuštění</li>
					<li>:q! - Opuštění editoru bez ukládání změn</li>
					<li>:vs - Vertikální rozložení oken</li>
					<li>:sp - Horizontální rozložení oken</li>
					<li>:colorscheme - Změní theme</li>
					<li>:term - Otevře terminál</li>
				</ul>
				<h4>Vyhledávání a nahrazování:</h4>
				<ul class="green">
					<li>/hledany_text - Vyhledání textu</li>
					<li>n - Přeskočení na další výskyt hledaného textu</li>
					<li>N - Přeskočení na předchozí výskyt hledaného textu</li>
					<li>:s/hledany_text/nahrazeny_text/g - Nahrazení hledaného textu za zadaný text v celém dokumentu
					</li>
				</ul>
				<h4>Různé:</h4>
				<ul class="green">
					<li>Ctrl + r - Opětovné provedení zrušené akce</li>
					<li>:help - Zobrazení nápovědy</li>
				</ul>
			</div>
			<hr>
			<div id="3">
				<h2>3. Jak nainstalovat Codeium do Neovim</h2>
				<p>Neovim je moderní verze Vim, textového editoru používaného v unixových systémech. Zde jsou některé
					klávesové zkratky pro práci s Neovim:</p>
				<p><a class="green" href="htpps://codeium.com" target="_blank">Codium</a> je alternativou k GitHub
					Copilot s tím, že pro jednotlivce je zdarma. Codeium hodnotím velmi pozitivně a Copilotu se vyrovná.
				</p>
				<p>
					Instalace pomocí plug.vim je jednoduchá, stačí pouze upravit svůj init.vim. Vložíme do něj:
				</p>
				<div class="code-box">
					<pre id="code-content">
" Free AI codium
Plug 'Exafunction/codeium.vim', { 'branch': 'main' }
					  </pre>

				</div>
				<p>
					Výsledný init.vim bude vypadat takto:
				</p>
				<div class="code-box">
					<pre id="code-content">
call plug#begin(has('nvim') ? stdpath('data') . '/plugged' : '~/.vim/plugged')<br>
" Free AI codium<br>
Plug 'Exafunction/codeium.vim', { 'branch': 'main' }<br>
call plug#end()
					  </pre>

				</div>
				<p>
					A restartujeme Neovim. Příkazem Ctrl + : do príkazového řádku napíšete q a restartujeme Neovim.</p>
				<p>Po restartu provedeme PlugInstall a ještě jednou restartujeme Neovim.
				</p>

				<p>
					Poslední krok bude konfigurace Codeium, příkazem CodeiumEnable do command line.</p>


				<p>Codium vás vyzve k propojení API se serverem Codium.</p>
				<p>A vše by Vám mělo fungovat.
				</p>
			</div>
			<hr>
			<div id="4">
				<h2>4. Telescope - Dalekohled</h2>
				<p>

					Telescope je, vytvořený jedním z hlavních členů týmu Neovim - TJ Devries .
				</p>
				<p>Vedlejší poznámka, TJ zveřejňuje spoustu obsahu souvisejícího s Neovim na svém kanálu <a
						class="green" href="https://www.youtube.com/c/TJDeVries" target="_blank">YouTube</a> a na svých
					streamech Twitch . Zejména jeho kanál YouTube byl skvělým zdrojem. Podívejte se na něj!</p>
				<p>Teleskop je podle mého názoru nezbytný plugin. Je to fuzzy vyhledávač vestavěný v Lua, který lze
					konfigurovat všemi způsoby. Přidává spoustu funkcí do vašeho nastavení Neovim. Zatím jsem si
					neuvědomil jeho skutečný potenciál, ale na hledání souborů a hledání textu je úžasný.</p>
				<p>

					Tento postup mám odzkoušený na Linuxu tak macOS, ale měl by fungovat i ve Windows
				</p>
				<p>

					Pojďme ho nainstalovat (všchny příkazy budeme vkládat do vašeho terminálu):
				</p>
				<div class="code-box">
					<pre id="code-content">
call plug#begin(has('nvim') ? stdpath('data') . '/plugged' : '~/.vim/plugged')<br>
" Telescope install Neovim<br>
" Planery"<br>
Plug 'nvim-lua/plenary.nvim'<br>
" Telescope plugin <br>
Plug 'nvim-telescope/telescope.nvim' <br>
" Fuzzy Telescope fzf <br>
Plug 'nvim-telescope/telescope-fzf-native.nvim', {'do': 'make' } <br>
call plug#end()
					  </pre>

				</div>
				<p>Upozorňuji, že zde instalujeme více než jeden plugin. Telescope vyžaduje další plugin s názvem <a
						class="green" href="https://github.com/nvim-lua/plenary.nvim" target="_blank">Planery</a>. A
					další plugin je <a href="https://github.com/nvim-telescope/telescope.nvim#sorters" class="green"
						target="_blank">Telescope Sorter</a>, který podporuje syntaxi fzf a <a
						href="https://github.com/nvim-telescope/telescope.nvim#suggested-dependencies" target="_blank"
						class="green">Telescope</a>.</p>
				<h4>

					Pro dokončení instalace nezapomeňte provést tyto tři kroky:
				</h4>
				<p>

					Uložit init.vim <code>:w</code>
				</p>
				<p>

					Restarovat zdroj (source) init.vims <code>:so %</code> nebo restartovat <code>Neovim</code>.
				</p>
				<p>Nainstaluj plugin pomocí <code>:PlugInstall</code>.</p>
				<p>

					Dále musíme nakonfigurovat Telescope. Toto je běžná praxe mezi pluginy Vim. Telescope je plugin
					založený na Lua.
				</p>
				<p>Nejprve musíme vytvořit novou složku lua v adresáři: <code>nvim ~/.config/nvim/lua</code></p>
				<div class="code-box">
					<pre id="code-content">
cd ~/.config/nvim <br>
mkdir lua
					  </pre>

				</div>
				<p>Uvnitř lua adresáře vytvoříme podadresář pro jmenný prostor našich konfigurací pluginů. Abychom
					pochopili, proč je to nutné, je třeba vysvětlit, jak Vim zpracovává vyhledávání souborů. Stručně
					řečeno, vytvoření podadresáře jmenného prostoru uvnitř lua adresáře zabraňuje nechtěným kolizím
					souborů .</p>
				<h5>Rozhodl jsem se použít svůj GitHub nick jako název svého podadresáře:</h5>
				<div class="code-box">
					<pre id="code-content">
cd ~/.config/nvim/lua <br>
mkdir kankys
					  </pre>9iuQnZicOFmCG

				</div>
				<p>
					Je jedno jak adresář pojmenujete. Jakmile jej vytvoříte, budete chtít se do něj přesunout pomocí cd:
				</p>
				<p><code>cd ~/.config/nvim/lua/tvůj-název-adresáře</code></p>
				<p>
					Poznámka: tvůj-název-adresáře se používá jako zástupný symbol. Nahraďte jej názvem svého adresáře
					jaký chcete.
				</p>
			    <p>V adresáři jmenného prostoru vytvoř plugin-název.lua soubor pro každý plugin, který
					chcete/potřebujete nakonfigurovat. Telescope vytvoříš takto (jsme stálé v cd
					~/.config/nvim/lua/tvůj-název-adresáře ):</p>
				<p><code>nvim telescope.lua</code></p>

			</div>


		</div>



	</div>


	<?php require "assets/returnbutton.php"; ?>
	<?php require "assets/footer.php"; ?>
	<script src="assets/script.js"></script>
</body>

</html>
