419 lines
17 KiB
PHP
419 lines
17 KiB
PHP
<?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",
|
|
],
|
|
[
|
|
"title" => "5. Barevné schéma",
|
|
"content" => "5. Barevné schéma",
|
|
"id" => "5",
|
|
]
|
|
]; ?>
|
|
<!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>
|
|
|
|
</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>
|
|
<p>Užitečný tip Vim je, že můžete otevřít soubory dříve, než existují. Pokud soubor zavřete bez uložení, nebude vytvořen! Ve výše uvedeném příkladu otevíráme telescope.luav Neovimu. Pokud soubor uložíme, bude vytvořen.</p>
|
|
<p>Naše konfigurace pro Telescope bude:
|
|
</p>
|
|
<div class="code-box">
|
|
<pre id="code-content">
|
|
local telescope = require('telescope')
|
|
telescope.setup {}
|
|
telescope.load_extension('fzf') </pre>
|
|
|
|
</div>
|
|
<p>Tento kód vložíš do telescope.lua a uložíš. V souboru telescope.lua je všechno, co potřebujeme.</p>
|
|
<p>Výše uvedený příklad nám dává první ochutnávku Lua. Zjistil jsem, že hodně pluginů potřebuje minimálně toto nastavení v lua:</p>
|
|
<div class="code-box">
|
|
<pre id="code-content">
|
|
require('PLUGIN_NAZEV').setup {}
|
|
</pre>
|
|
</div>
|
|
<p>V tomto příspěvku se nebudu potápět hluboko do konfigurace Telescope. Pokud chcete vidět některé dostupné možnosti nastavení a další přizpůsobení, podívejte se do <a href="https://github.com/nvim-telescope/telescope.nvim#customization" target="_blank" class="green">dokumentace</a>.</p>
|
|
<p>Nezapomeňte uložit telescope.lua a ukončete Neovim pomocí <code>:wq</code></p>
|
|
<p>Dále musíme říci našemu init.vim že existuje někde soubor lua:</p>
|
|
<p>V mém případě bych uvedl:</p>
|
|
<p><code>lua require('kankys')</code> vložením do <code>~/.config/nvim/init.vim</code></p>
|
|
<h3 class="green">Pár poznámek:</h3>
|
|
<p>Vložte tento příkaz pod vim-plug funkci ( `` call plug#end() )!</p>
|
|
<p>Co to dělá? Zpočátku to vypadá trochu magicky a porozumění vyžaduje znalost vyhledávání Vim, ale v podstatě tento příkaz bude hledat lua soubor ve vašem běhovém prostředí Vim.</p>
|
|
<p>V našem případě je to: <code>~/.config/nvim/lua/tvůj-název-adresáře/telescope.lua</code></p>
|
|
<p>Namísto vyžadování každého konfiguračního souboru v našem init.vim, můžeme jen vyžadovat adresář jmenného prostoru. Aby to fungovalo, budeme muset přidat nový soubor do našeho adresáře jmenného prostoru s názvem init.lua:</p>
|
|
<div class="code-box">
|
|
<pre id="code-content">
|
|
cd ~/.config/nvim/lua/tvůj-název-adresáře
|
|
touch init.lua
|
|
</pre>
|
|
</div>
|
|
<p>init.lua soubor lze považovat za indexový soubor. Uvnitř init.lua můžeme načíst všechny naše konfigurační soubory.</p>
|
|
<p>Do <code>init-lua</code> vložme tento kód:</p>
|
|
<div class="code-box">
|
|
<pre id="code-content">
|
|
require('tvůj-adresář-název/telescope')
|
|
</pre>
|
|
</div>
|
|
<p>Vše co jsem uvedl výšše pochopíš lehce když se podíváš zde na <a href="https://git.arch-linux.cz/kankys/ApolloNvim" target="_blank" class="green">Gitu</a> do konfiguračních souborů nvim.</p>
|
|
<p>Od tohoto okamžiku budou všechny nové konfigurační soubory lua v <code>lua/tvůj-název-adresáře</code>.</p>
|
|
<h3 class="green">Telescope</h3>
|
|
<p>Telescope má řadu <a href="https://github.com/nvim-telescope/telescope.nvim#vim-commands" target="_blank" class="green">příkazů</a>, které lze použít, :Telescope v NORMAL režimu v Neovim. Rychlý způsob, jak zobrazit všechny dostupné příkazy, je zadat :Telescope následuje mezera a poté klikněte na <Tab>. Tlačítko karty otevře seznam automatického doplňování, dostupných příkazů v Telescope. V seznamu se můžete pohybovat pomocí <Tab> a ``` opačným směrem.</p>
|
|
<p>Níže je uveden příkaz Telescope, pro ukázku: <code>:Telescope find_files</code></p>
|
|
<p>Dokumentaci k Telescope v Neovimu můžete zobrazit pomocí: <code>:h telescope</code></p>
|
|
</div>
|
|
<hr>
|
|
<div id="5">
|
|
<h2>Barevné schéma</h2>
|
|
<p>Většinu barevných schémat v Neovimu lze nainstalovat jako plugin. Barevných schémat existuje spousta, opravdu dobrých. Zde je seznam některých znich na <a href="https://github.com/rafi/awesome-vim-colorschemes" target="_blank" class="green">GitHubu</a>.</p>
|
|
<p>Mezi mé oblíbené patří: Gruvbox Dracula Tokionight</p>
|
|
<p>Schémata se instalují uvnitř plug#begin() a plug#end(), pojďme deklarovat naše barevné schéma. Pro ilustraci použiji Gruvbox:</p>
|
|
|
|
</div>
|
|
<?php require "assets/returnbutton.php"; ?>
|
|
<?php require "assets/footer.php"; ?>
|
|
<script src="assets/script.js"></script>
|
|
</body>
|
|
|
|
</html>
|