This commit is contained in:
2025-02-06 23:02:12 +01:00
parent d812c3b741
commit 9b265c41d8
23 changed files with 7 additions and 3 deletions

View File

@ -0,0 +1,59 @@
# 01. Jak nainstalovat vim.plug do Neovim
Nejprve si však zálohujte své aktuální nastavení Neovim!!!
Linux & Mac:
`~/.config/nvim/init.vim`
Windows:
`~\AppData\Local\nvim\init.vim`
Běžte na tuto [stránku](https://github.com/junegunn/vim-plug) 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.
Na Linuxu a macOS to bude tento příkaz:
```
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
```
Na Windows to bude tento příkaz:
```
iwr -useb https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim |`
ni "$(@($env:XDG_DATA_HOME, $env:LOCALAPPDATA)[$null -eq $env:XDG_DATA_HOME])/nvim-data/site/autoload/plug.vim" -Force
```
Dále si otevřeme soubor init.vim a pokud ho nemáme tak si ho vytvoříme zde:
Linux & Mac:
`~.config/nvim/init.vim`
Windows:
`~\AppData\Local\nvim\init.vim`
A do něj vložíme a následně uložíme tento kód:
```
call plug#begin(has('nvim') ? stdpath('data') . '/plugged' : '~/.vim/plugged')
# Jsem budeš v budoucnu vkládat pluginy. Začínající PLug a adresa ke stažení
call plug#end()
```
A příkazem `Nvim` v terminálu spustíme Neovim. Pokud vám vyskočí chybové hlášení jen ho odklikněte.
Pomocí `Ctrl + :` se dostanete do příkazového řádku a tam napíšete `PlugInstall`
A restartujeme Neovim. Příkazem `Ctrl + :` do příkazového řádku napíšete `q` a restartujeme Neovim.
Takto pokaždé když si přidáte do init.vim pluginy, příkazem `PlugInstall` je nainstalujete a restartujeme Neovim.
<div style="text-align: center;">
Copyright © 2024 - 2025 🚀 ApolloNvim / Lukáš Kaňka
</div>

View File

@ -0,0 +1,75 @@
# 02. Default klávesové zkratky
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:
### Základní pohyb:
- `h` - Pohyb vlevo
- `j` - Pohyb dolů
- `k` - Pohyb nahoru
- `l` - Pohyb vpravo
- `w` - Přesun na začátek dalšího slova
- `b` - Přesun na začátek předchozího slova
- `gg` - Přesun na začátek dokumentu
- `G` - Přesun na konec dokumentu
### Visuální mód:
Do něj se přepnu v Normal módu pomocí `v` pohybem kde byl kurzor mohu označovat text.
### Normální mód - NORMAL:
Do normál módu se z jiných přesunu pomocí `ESC`
- `i` - Přepnutí do režimu vkládání před kurzor
- `I` - Přepnutí do režimu vkládání na začátek řádku
- `a` - Přepnutí do režimu vkládání za kurzor
- `A` - Přepnutí do režimu vkládání na konec řádku
- `o` - Vložení nového řádku pod aktuálním řádkem
- `O` - Vložení nového řádku nad aktuálním řádkem
- `dd` - Smazání řádku
- `dw` - Smazání slova
- `yy` - Kopírování řádku
- `p` - Vložení obsahu schránky pod kurzor
- `P` - Vložení obsahu schránky před kurzor
- `u` - Vrácení poslední provedené akce
- `Ctrl + r` - Krok do předu opak `u`
- `q` - Zavře okno
- `.` - Poslední příkaz
- `Ctrl + w` - Přepínání oken
### Command mód:
Command mód vyvoláme pomocí `Shift + :`
- `:e + jméno souboru` - Vytvoří nový soubor - `:e index.html`
- `:w` - Uložení změn
- `:q` - Opuštění editoru
- `:wq` - Uložení změn a opuštění
- `:q!` - Opuštění editoru bez ukládání změn
- `:vs` - Vertikální rozložení oken
- `:sp` - Horizontální rozložení oken
- `:colorscheme` - Změní theme
- `:term` - Otevře terminál
### Vyhledávání a nahrazování:
- `/hledany_text` - Vyhledání textu
- `n` - Přeskočení na další výskyt hledaného textu
- `N` - Přeskočení na předchozí výskyt hledaného textu
- `:s/hledany_text/nahrazeny_text/g` - Nahrazení hledaného textu za zadaný text v celém dokumentu
### Různé:
- `Ctrl + r` - Opětovné provedení zrušené akce
- `:help` - Zobrazení nápovědy
<div style="text-align: center;">
Copyright © 2024 - 2025 🚀 ApolloNvim / Lukáš Kaňka
</div>

View File

@ -0,0 +1,35 @@
# 03. Jak nainstalovat Codeium do Neovim
[Codeium](https: //codeium.com)je alternativou k [GitHub Copilot](https://github.com/features/copilothttps://github.com/features/copilot) s tím, že pro jednotlivce je zdarma. Codeium hodnotím velmi pozitivně a Copilotu se vyrovná.
Instalace pomocí plug.vim je jednoduchá, stačí pouze upravit svůj `init.vim`.
Vložíme do něj:
```
" Free AI codium
Plug 'Exafunction/codeium.vim', { 'branch': 'main' }
```
Výsledný init.vim bude vypadat takto:
```
call plug#begin(has('nvim') ? stdpath('data') . '/plugged' : '~/.vim/plugged')
" Free AI codium
Plug 'Exafunction/codeium.vim', { 'branch': 'main' }
call plug#end()
```
A restartujeme Neovim. Příkazem `Ctrl + :` do príkazového řádku napíšete `q` a restartujeme Neovim.
Po restartu provedeme `PlugInstall` a ještě jednou restartujeme Neovim.
Poslední krok bude konfigurace Codeium, příkazem `CodeiumEnable` do command line.
Codium vás vyzve k propojení API se serverem Codium.
A vše by Vám mělo fungovat.
<div style="text-align: center;">
Copyright © 2024 - 2025 🚀 ApolloNvim / Lukáš Kaňka
</div>

View File

@ -0,0 +1,127 @@
# 04. Telescope - Dalekohled
- Telescope je, vytvořený jedním z hlavních členů týmu Neovim - TJ Devries .
- Vedlejší poznámka, TJ zveřejňuje spoustu obsahu souvisejícího s Neovim na svém kanálu YouTube a na svých streamech Twitch . Zejména jeho kanál [YouTube](https://www.youtube.com/c/TJDeVries) byl skvělým zdrojem. Podívejte se na něj!
- 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ý.
- Tento postup mám odzkoušený na Linuxu tak macOS, ale měl by fungovat i ve Windows
- Pojďme ho nainstalovat (všchny příkazy budeme vkládat do vašeho terminálu):
```
call plug#begin(has('nvim') ? stdpath('data') . '/plugged' : '~/.vim/plugged')
" Telescope install Neovim
" Planery"
Plug 'nvim-lua/plenary.nvim'
" Telescope plugin
Plug 'nvim-telescope/telescope.nvim'
" Fuzzy Telescope fzf
Plug 'nvim-telescope/telescope-fzf-native.nvim', {'do': 'make' }
call plug#end()
```
- Upozorňuji, že zde instalujeme více než jeden plugin. Telescope vyžaduje další plugin s názvem [Planery](https://github.com/nvim-lua/plenary.nvim). A další plugin je [Telescope Sorter](https://github.com/nvim-telescope/telescope.nvim#sorters) , který podporuje syntaxi fzf a [Telescope](https://github.com/nvim-telescope/telescope.nvim#suggested-dependencies).
- **Pro dokončení instalace nezapomeňte provést tyto tři kroky:**
- Uložit init.vim `:w`
- Restartuj `Neovim`
- Nainstaluj plugin pomocí `:PlugInstall`.
- Dále musíme nakonfigurovat Telescope. Toto je běžná praxe mezi pluginy Vim. Telescope je plugin založený na Lua.
- Nejprve musíme vytvořit novou složku lua v adresáři: `nvim ~/.config/nvim/lua`
```
cd ~/.config/nvim
mkdir lua
```
- 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ů .
Rozhodl jsem se použít svůj GitHub nick jako název svého podadresáře:
```
cd ~/.config/nvim/lua
mkdir kankys
```
- Je jedno jak adresář pojmenujete. Jakmile jej vytvoříte, budete chtít se do něj přesunout pomocí cd:
`cd ~/.config/nvim/lua/tvůj-název-adresáře`
- 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.
- 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`
):
`nvim telescope.lua`
- 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.
- Naše konfigurace pro Telescope bude:
``
local telescope = require('telescope')
telescope.setup {}
telescope.load_extension('fzf')
``
- Tento kód vložíš do telescope.lua a uložíš. V souboru telescope.lua je všechno, co potřebujeme.
- 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:
`require('PLUGIN_NAZEV').setup {}`
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 [dokumentace](https://github.com/nvim-telescope/telescope.nvim#customization) .
- Nezapomeňte uložit telescope.lua a ukončete Neovim pomocí `:wq`.
- Dále musíme říci našemu init.vim že existuje někde soubor lua:
V mém případě bych uvedl:
`lua require('kankys')` vložením do `~/.config/nvim/init.vim`
Pár poznámek:
- **Vložte tento příkaz pod vim-plug funkci ( `` call plug#end() )!**
- 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.
- v našem případě je to:
`~/.config/nvim/lua/tvůj-název-adresáře/telescope.lua`
- 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:
``
cd ~/.config/nvim/lua/tvůj-název-adresáře
touch init.lua
``
- init.lua soubor lze považovat za indexový soubor. Uvnitř init.lua můžeme načíst všechny naše konfigurační soubory.
- Do `init-lua` vložme tento kód:
`require('tvůj-adresář-název/telescope')`
- **Vše co jsem uvedl výšše pochopíš lehce když se podíváš zde na [GitHubu](https://github.com/LukasKanka/ApolloNvim) do konfiguračních souborů nvim.**
- Od tohoto okamžiku budou všechny nové konfigurační soubory lua v `lua/tvůj-název-adresáře`.
## Telescope
- Teleskop má řadu [příkazů](https://github.com/nvim-telescope/telescope.nvim#vim-commands) , 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 `<Shift-Tab>` opačným směrem.
- Níže je uveden příkaz Telescope, pro ukázku:
`:Telescope find_files`
Dokumentaci k Telescope v Neovimu můžete zobrazit pomocí:
`:h telescope`
<div style="text-align: center;">
Copyright © 2024 - 2025 🚀 ApolloNvim / Lukáš Kaňka
</div>

View File

@ -0,0 +1,64 @@
# 05. Barevné schéma
Většinu barevných schémat v Neovimu lze nainstalovat jako plugin. Barevných schémat existuje spousta. Zde je seznam některých znich na [GitHubu](https://github.com/rafi/awesome-vim-colorschemes).
Mezi mé oblíbené patří:
`Gruvbox`
`Dracula`
`Tokionight`
Schémata se instalují uvnitř `plug#begin()` a `plug#end()`, pojďme deklarovat naše barevné schéma. Pro ilustraci použiji Gruvbox:
````
call plug#begin('~/.config/nvim/plugged')
Plug 'gruvbox-community/gruvbox'
call plug#end()
````
Výše uvedený příklad ukazuje, jak deklarovat pluginy, se kterými chcete nainstalovat pluginy přes vim-plug . Plugin Gruvbox výšše je zkrácený zápis pro:
`` Plug 'https://github.com/gruvbox-community/gruvbox'``
Jakmile deklarujete svůj plugin init.vim, k instalaci je třeba provést několik dalších kroků:
Uložte své init.vim :w
Načíst source (zdroj) init.vims :so % nebo restart Neovim
Instalovat barevné schémata :PlugInstall
Výše uvedené příkazy je třeba zadat NORMAL režimu.
Po dokončení instalace pluginu můžete zavřít vim-plug (vyrovnávací paměti ) zadáním `:q!`.
Po instalaci vašeho barevného schématu budeme muset Neovimu říct, aby jej použil. Uvnitř tvého init.vim pod deklarace pluginu přidejte následující řádky kódu:
```
call plug#begin('~/.config/nvim/plugged')
Plug 'gruvbox-community/gruvbox'
call plug#end()
" Vybere tvé barevné schéma:
colorscheme gruvbox
" Automaticky po startu Neovim načte tvé schéma
autocmd VimEnter * colorscheme gruvbox
```
Uložte a ukončete init.vim pomocí `:wq`. Až příště znovu otevřete Neovim, měli byste vidět nové barevné schéma!
Barevné schéma můžete změnit i za běhu Neovim tímto způsobem:
`:colorscheme -> klikni <space> <Tab>`
<div style="text-align: center;">
Copyright © 2024 - 2025 🚀 ApolloNvim / Lukáš Kaňka
</div>

23
tutorials/06. Autosave.md Normal file
View File

@ -0,0 +1,23 @@
# 06. Automatické ukládání.
* Nainstalovat plugin auto-save.nvim přes plug.vim pomocí následujícího příkazu: 
```
Plug 'Pocco81/auto-save.nvim' 
```
* Poté nastavit proměnné g:auto_save_enabled a g:auto_save_delay v init.vim takto: 
```
let g:auto_save_enabled = 1 
let g:auto_save_delay = 3000 
```
[https://github.com/Pocco81/auto-save.nvim?tab=readme-ov-file](https://github.com/Pocco81/auto-save.nvim?tab=readme-ov-file) 
* Pozor Autosave nefunguje v PowerShell
<div style="text-align: center;">
Copyright © 2024 - 2025 🚀 ApolloNvim / Lukáš Kaňka
</div>

View File

@ -0,0 +1,38 @@
# 07. Kopírování a Vkládání do a z Neovim z externích zdrojů
V Neovim (a také v klasickém Vim) můžete kopírovat text z externích zdrojů do Neovim, například z webové stránky a naopak z Neovim ven.
### **Přímé kopírování z externí aplikace do Neovim:**
1. **Zkopírujte text:**
- Otevřete webový prohlížeč a vyberte text, který chcete zkopírovat.
- Stiskněte `Ctrl+C` (nebo `Cmd+C` na macOS) pro kopírování.
2. **Přepnutí do režimu vkládání v Neovimu (režim insert ):**
- Otevřete neovim a načtěte soubor.
- Přepněte se do režimu vkládání stisknutím klávesy `i`.
3. **Vložte text:**
- Stiskněte `Ctrl+Shift+V` (nebo `Cmd+Shift+V` na macOS) pro vložení textu do Neovimu.
### **Kopírování z Neovim do Neovim či mimo Neovim do jiné aplikace:**
1. **Označíme text v Neovim:**
- to můžeme udělat buď pomocí v režimu Normal: SHIFT + V --> označíme celý řádek
- nebo v režimu Normal pomocí: v + šipka v pravo, vlevo, nahoru a dolů --> označíme vybraný text
2. **Kopírovat označený text:**
- to uděláme v Normal modu klávesou: y
- text pak kamkoliv vložíme pomocí: `CTRL+Shift+V` nebo v Neovim v Normal módu pompoví `p`.
3. **Vyjmout označený text:**
- vyjmout označený text můžeme v Normal modu pomocí: x
** POZNÁMKA:** v linuxu pro správnou funkčmost jsem si musel pro kopírování z Neovim nainstalovat balíček **xclib**!
<div style="text-align: center;">
Copyright © 2024 - 2025 🚀 ApolloNvim / Lukáš Kaňka
</div>

View File

@ -0,0 +1,19 @@
# 08. Markdown_syntax
Při problémech se syntaxi markdown je potřeba:
``
PlugVim: Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
``
Nainstalovat zadáním do command line: :TSInstall markdown
**Pokud by jsi měl problémy s tímto pluginem v zobrazení syntaxe nebo by ti nevyhovoval tento plugin.Odinstaluješ ho tak že ho smažeš ručně ve složce:**
``
usr/local/lib64/nevim/parser/markdown.so
``
<div style="text-align: center;">
Copyright © 2024 - 2025 🚀 ApolloNvim / Lukáš Kaňka
</div>

View File

@ -0,0 +1,71 @@
# 09. init.vim základní nastavení
**Obecné nastavení**
Pro základní nastavení v init.vim mám pro Vás pár tipů, pojďme jej otevřít:
```
nvim init.vim
```
Přidáme základní nastavení do init.vim:
```
" umožňuje zvýraznění syntaxe
syntax on
" Lepší barvy
set termguicolors
" počet pozic okolik se posuneme pomocí <Tab>
set tabstop=4
set softtabstop=4
set expandtab
" povolení odrážek
set smartindent
" počet mezer použitých pro automatické odrážky
set shiftwidth=4
" zobrazení čísla řádku
set number
" sloupce používané pro číslo řádku
set numberwidth=4
" zvýrazní při vyhledávání shodného textu.
set incsearch
set nohlsearch
" intuitivně otevřít rozdělení nových oken
set splitbelow
set splitright
" procházení vyrovnávací (oken) paměti bez ztráty neuložené práce
set hidden
" začít posouvat stránku, když je 8 řádků od horního nebo dolního okraje
set scrolloff=8
" Uložení historie
set undofile
" Povolení podpory myši
set mouse=a
" vyhledávání bez rozlišení velkých a malých písmen, pokud nejsou použita velká písmena
set ignorecase
set smartcase
```
Pokud chcete více informací o každém nastavení, můžete napsat `:h <název nastavení>` uvnitř Neovimu, vyvoláte nápovědu pro toto konkrétní nastavení. Například:
```
:h number
```
Zobrazí sekci nápovědy pro `number`.
<div style="text-align: center;">
Copyright © 2024 - 2025 🚀 ApolloNvim / Lukáš Kaňka
</div>

View File

@ -0,0 +1,74 @@
# 10. vim-fugitive
Vim-fugitive je plugin pro textový editor Vim a Neovim, který poskytuje sadu funkcí pro práci se systémem správy verzí Git přímo z editoru Vim. Tento plugin usnadňuje úlohy, jako je procházení historie commitů, porovnávání verzí souborů, přidávání změn do indexu, vytváření commitů a řešení konfliktů při slučování verzí. Vim-fugitive je populární mezi vývojáři, kteří preferují práci přímo z příkazové řádky a cení si efektivity a rychlosti.
Pojďme si ho nainstalovat. Nejprve si vim-fugitive přidáme do init.vim:
```
call plug#begin('~/.config/nvim/plugged')
" vim-fugitive
Plug 'tpope/vim-fugitive'
call plug#end()
```
Pro tento plugin není nutná žádná konfigurace. Stačí uložit zdroj, nainstalovat a můžeš ho začít používat.
Dovol, abych Ti dal několik užitečných tipů pro začátek s vim-fugitive.
`:Git`
Jak jste možná poznali u těchto typů příkazů, můžete je použít `<Tab>`automatické doplňování, abyste viděli, co ještě umí:
```
:Git <Tab>
```
A je toho hodně, co můžete v `vim-fugitive` dělat, ale pokud znáte Git, `vim-fugitive` bude pro tebe hračka:
```
" zobrazí aktuálni stav branch
:Git status
" zobrazí dostupné branches
:Git branch
" práce s ůložným prostorem
:Git stash
:Git add
:Git commit
:Git push
```
Zadání `:Git` vyvolá [bez příkazu `fugitive-summary`okno](https://github.com/tpope/vim-fugitive/blob/69f5fcbd459c113181d18a0ea2641cd47c9e0318/doc/fugitive.txt#L50) . Vlastně se mi tato funkce hodně líbí. Zobrazí se seznam nesledovaných, připravených a nepřiřazených souborů spolu s aktuálním názvem větve. Umístěním kurzoru na tyto soubory vám umožní spouštět určité „mapy“, jako je příprava/odstaging, zahození změn, přepínání vložených rozdílů atd.
Pro více informací o tom, jaké mapy jsou v rámci `fugitive-summary`okno, zadejte:
```
:h fugitive-maps
```
Nebo [se podívejte na tento odkaz](https://github.com/tpope/vim-fugitive/blob/69f5fcbd459c113181d18a0ea2641cd47c9e0318/doc/fugitive.txt#L258) .
`vim-fugitive` se zobrazuje i vespodní liště. Máte informace o tom v jáké větvi jste či kolik změn jsi v kódu provedl.
Pro více informací na `vim-fugitive`zadejte do Neovimu následující příkaz:
```
:h fugitive
```
<div style="text-align: center;">
Copyright © 2024 - 2025 🚀 ApolloNvim / Lukáš Kaňka
</div>

View File

@ -0,0 +1,82 @@
# 11. Gitsigns drobné vylepšení git v Neovim
Skvělá věc při kódování je vidět smazané či upravené řádky v reálném čase.
Neovim toto standardně nepodporuje, takže použijeme gitsigns:
V našem init.vim přidáme:
```
call plug#begin('~/.config/nvim/plugged')
" gitsigns
Plug 'lewis6991/gitsigns.nvim'
call plug#end()
```
Poznámka: gitsigns vyžaduje `nvim-lua/plenary.nvim `. Protože jsme ho nainstalovali pomocí `telescope` [04. Jak nainstalovat Telescope do editoru Neovim](https://github.com/LukasKanka/ApolloNvim/blob/main/readme/04.%20Jak%20nainstalovat%20Telescope%20do%20editoru%20Neovim.md), jsme pokryti.
Už víte, co máte dělat Uložit, zdroj a `:PlugInstall`.
Gitsigns vyžaduje volání a setup ve vaší konfiguraci, aby to fungovalo. Vytvořme `gitsigns.lua` soubor v našem jmenném adresáři:
`nvim ~/.config/nvim/lua/tvůj-adresář/gitsigns.lua`
A uvnitř tohoto souboru začneme:
```
require('gitsigns').setup {}
```
Pokud nezadáte žádné možnosti, plugin se spustí s výchozím nastavením.
Nyní přidáme gitsigns.luado našeho adresáře jmenného prostoru init.lua soubor:
```
require('tvůj-adresář/telescope')
require('tvůj-adresář/lightline')
require('tvůj-adresář/gitsigns')
```
Můj vypadá takto:
```
require('kankys/telescope')
require('kankys/lightline')
require('kankys/gitsigns')
```
Obnovíme zdroj tohoto souboru pomocí příkazu :source. Gitsigns můžete vidět v akci, když přejdete na projekt na vašem počítači, který je řízen pomocí git. Jakýkoli sledovaný soubor, který byl upraven, zobrazí tuto modifikaci .
Ačkoli to je technicky to, co chceme, umístění nápisu je trochu mimo. Je to proto, že musíme říct Vimovi, aby zobrazoval diagnostické znaky ve sloupci s číslem, nikoli nalevo od čísla. Otevřete svůj init.vim soubor a přidejte nový nastavení:
```
" ... general settings
set signcolumn=number
```
Ulož a obnov zdrouj `:source` init.vim souboru. Nyní by se vaše znaky měly zobrazovat ve sloupci čísel, nikoli vlevo. Chcete-li se dozvědět více o signcolumn spusťte v Neovimu následující příkaz:
``:h signcolumn``
V VSCode je funkce, kterou v Neovim zoufale postrádám. Když jste v projektu, který používá Git, ponecháte kurzor na řádku po určitou dobu způsobí, že se nějaký virtuální text zobrazí v matné barvě. Text bude číst jméno vývojáře, který naposledy upravil řádek, datum modifikace a zprávu odevzdání.
Tuto funkci miluji. `vim-fugitive` má příkaz `:Git blame` příkaz, který řeší stejný případ použití, ale preferuji virtuální text. Chcete-li to povolit, jednoduše přidejte do konfigurace značek Git následující:
```
require('gitsigns').setup {
-- signs config
current_line_blame = true,
current_line_blame_opts = {
virt_text_pos = 'right_align'
}
}
```
A to je vše!
<div style="text-align: center;">
Copyright © 2024 - 2025 🚀 ApolloNvim / Lukáš Kaňka
</div>>

View File

@ -0,0 +1,57 @@
# 12. Ještě lepší Neovim s Zellij terminálovým multiplexorem
Co mi chybí na Neovim, je způsob, jak z něj zavolat terminál a otevřít terminál (druhé okno terminálu pod oknem s Neovim, viz obrázek) stejnou cestou, na kterém pracuji.
Abych toho dosáhl, používám [Zellij](https://zellij.dev/) , což je terminálový multiplexor.
## Konfigurace Zellij
[Zellij](https://zellij.dev/) vám umožňuje vytvářet vlastní rozvržení, která lze vyvolat při spuštění, abyste je lépe přizpůsobili práci, kterou budete dělat.
Následuje konfigurace pro práci s textovým editorem Neovim. Tuto konfiguraci jsem uložil pod touto cestou `~/.config/zellij/layouts/nvim.kdl`:
```
layout {
pane size=1 borderless=true {
plugin location="zellij:tab-bar"
}
pane {
command "nvim"
args "."
}
pane split_direction="vertical" size="10%" {
}
pane size=2 borderless=true {
plugin location="zellij:status-bar"
}
}
```
Výsledkem je následující rozložení:
![](https://lukan.cz/wp-content/uploads/2024/03/HelixAndZellij-700x382.png)
Nvim běžící v horním podokně s terminálovou konzolí v jiném podokně dole, ve stejné cestě jako projekt, se kterým pracuji!! a přesně tohoto cíle jsem chtěl dosáhnout.
## Konfigurace systému
Nyní ke spuštění zellij s vlastním rozložením a instancí Nvim musíte spustit:
```
zellij --layout ~/.config/zellij/layouts/nvim.kdl
```
V místě (složce) v terminálu kde chcete spustit Neovim.
Nyní pro zjednodušení tohoto příkazu jsem vytvořil alias `znv`a uložil to do mého `~/.bashrc`soubor.
```
alias znv='zellij --layout $HOME/.config/zellij/layouts/nvim.kdl'
```
S touto konfigurací pokaždé, když potřebuji vytvořit novou instanci Neovim, stačí zadat _znv_ do adresáře, se kterým chci pracovat, a [Zellij](https://zellij.dev/) mi zavolá Neovim a automaticky otevře projekt.
<div style="text-align: center;">
Copyright © 2024 - 2025 🚀 ApolloNvim / Lukáš Kaňka
</div>

View File

@ -0,0 +1,16 @@
# 13. Používání relativních čísel řádků
Váš terminál Neovim podporuje čísla linek s následujícím nastavením:
````
set number
````
Až budete v Neoim pokročilejší, budete hledat způsoby, jak se vertikálně pohybovat rychleji. Jedním ze způsobů, jak toho dosáhnout, je explicitně zadat číslo řádku, na který chcete přejít. To je jednodušší s relativními čísly řádků:
````
set number
set relativenumber
````
Jak to funguje? Řádek, na kterém je aktuálně kurzor, bude označen jako „řádek 0“. Zbytek řádků nad a pod bude očíslován ve vztahu k jejich vzdálenosti od řádku 0. Například řádek přímo pod kurzorem bude řádek 1. Stejně tak řádek přímo nad ním. Chcete-li přejít na řádek 1 níže, zadejte číslo ``1 + j``. Chcete-li přejít na řádek 1 výše, zadejte číslo ``1 + k``.
<div style="text-align: center;">
Copyright © 2024 - 2025 🚀 ApolloNvim / Lukáš Kaňka
</div>

View File

@ -0,0 +1,2 @@
# OMLOUVÁME SE STRÁNKA SE PŘEDĚLÁVÁ

View File

@ -0,0 +1,81 @@
# 15. Jak na kopírování a vkládání
### Kopírování jednoho řádku
Přejděte na řádek, který chcete kopírovat.
Stiskněte yy (dva krát y). Tím kopírujete celý řádek.
### Kopírování více řádků
Přejděte na první řádek, který chcete kopírovat.
Stiskněte V pro vizuální režim řádků.
Použijte šipky nebo j a k pro výběr řádků.
Stiskněte y pro kopírování vybraných řádků.
# Vkládání textu
### Vložení textu
Přejděte na místo, kam chcete text vložit.
Stiskněte p pro vložení textu za kurzor nebo P pro vložení textu před kurzor.
# Další užitečné funkce
### Vymazání textu
Přejděte na řádek, který chcete vymazat.
Stiskněte dd pro vymazání celého řádku.
### Vymazání více řádků
Přejděte na první řádek, který chcete vymazat.
Stiskněte V pro vizuální režim řádků.
Použijte šipky nebo j a k pro výběr řádků.
Stiskněte d pro vymazání vybraných řádků.
### Přesunutí textu
Vyberte text, který chcete přesunout (například pomocí V a j/k).
Stiskněte d pro vymazání vybraného textu (což ho také kopíruje do schránky).
Přejděte na místo, kam chcete text přesunout.
Stiskněte p nebo P pro vložení textu.
### Použití systémové schránky
Neovim podporuje integraci se systémovou schránkou, což umožňuje kopírování a vkládání textu mezi Neovimem a jinými aplikacemi.
Kopírování do systémové schránky
Vyberte text, který chcete kopírovat (například pomocí V a j/k).
Stiskněte "+y pro kopírování vybraného textu do systémové schránky.
Vložení z systémové schránky
Přejděte na místo, kam chcete text vložit.
Stiskněte "+p pro vložení textu ze systémové schránky za kurzor nebo "+P pro vložení textu před kurzor.
Mimo Neovim použíjte zkratku **CTRL+V**.
Pokud chcete kopírovat t do Neovim z jiné aplikace použíjte **SHIFT+CTRL+V**.
Tyto příkazy a klávesové zkratky vám umožní efektivně pracovat s textem v Neovimu.
POZNÁMKA: v linuxu pro správnou funkčmost jsem si musel pro kopírování z Neovim nainstalovat balíček **xclib**!
Tyto příkazy a klávesové zkratky vám umožní efektivně pracovat s textem v Neovimu.
<div style="text-align: center;">
Copyright © 2024 - 2025 🚀 ApolloNvim / Lukáš Kaňka
</div>

View File

@ -0,0 +1,37 @@
# 16. Jak nainstalovat nejnovější verzi Neovim do linuxu
N každá Linuxová distribuce nabízí nejnovější verzi Neovim, kterou vyžadují některé rozšíření Neovim. Velmi jednoduše nainstalujeme nejnovější verzi Neovim kompilací z zdrojového kódu.
Mi si instalaci předvedeme na distribuci založené na RHEL. Na ostatních distribucích se bude pouze lišit krok 1, dle toho jestli používáte apt, yay a atd.
### Kompilace ze zdrojového kódu
1. Instalace potřebných nástrojů a knihoven:
````
sudo dnf groupinstall "Development Tools"
sudo dnf install cmake gcc gcc-c++ make ninja-build unzip
````
2. Stažení zdrojového kódu Neovim:
````
git clone https://github.com/neovim/neovim.git
cd neovim
````
3. Kompilace Neovim:
````
make CMAKE_BUILD_TYPE=Release
````
4. Instalace Neovim:
````
sudo make install
````
<div style="text-align: center;">
Copyright © 2024 - 2025 🚀 ApolloNvim / Lukáš Kaňka
</div>

View File

@ -0,0 +1,14 @@
# 17. Jak opravit nefunkční Prettier
Pokud se Vám stane že Prettier nebude fungovat a bude vypisovat chybu, nejspíš ho nemáte naistalovaný v systému.
Oprava je jednoduchá:
V terminálu zadáte tento příkaz a tím doinstalujete potřebné věci do systému pro správnou funkčnost Prettier:
`npm install -g prettier`
Tento příkaz by vám měl pomoci s nefunkčím Prettierem v Neovim.
<div style="text-align: center;">
Copyright © 2024 - 2025 🚀 ApolloNvim / Lukáš Kaňka
</div>

View File

@ -0,0 +1,90 @@
### Konfigurace plaginu v Lua souboru
Některé pluginy pro svůj chod potřebují na konfigurovat. Tyto konfigurace se provádějí v jazyce [Lua](https://www.lua.org/). Většinou bývá pravidlem že konfiguraci najdete na GitHubu u jednotlivých pluginů, mi ji jen musíme zkopírovat či případně upravit dle svých preferencí a uložit do souborů kde máme Neovim.
Máme dvě možnosti jak takovou konfiguraci uložit. Buď do souboru `init.vim` nebo pro lepší přehlednost do souboru lua kde bude mít každý plugin svůj soubor.
##### První způsob:
Toto je jednoduší způsob konfigurace jejím přidání do 'init.vim'.
1. V souboru 'init.vim' vytvoříme tyto dvě značky:
````lua
lua << EOF
EOF
````
2. A mezi ně vložíme samotný config, například takto:
````lua
lua << EOF
-- nvim-lightbulb setup
require('nvim-lightbulb').setup({
autocmd = { enabled = true },
})
EOF
````
A dále podsebe přidáváme jednotlivé značky 'lua << EOF' 'EOF' a do nich vklkádat konfigurace.
##### Druhý způsob:
Tnto způsob je o trochu složitější, ale pomůže lépe organizovat konfigurační soubory a mít lepší přehled.
1. do souboru 'init.vim' přidáme tento řádek:
````lua
lua require('kankys')
````
Tím jsme si naimprtovali soubor do kterého budeme importovat jednotlivé konfigurace.
2. Ve složce Neovim kde máme soubor 'init.vim' vytvoříme složku 'lua'.
3. Ve složce 'lua' vytvoříme složku s váším nickem nebo jak se vám zlíbí. V mém případě jsem zvolil 'kankys'.
Měli by jste teď mít tutu strukturu: '~/.config/nvim/lua/kankys/'
4. Ve složce 'kankys' vytvoříme soubor:
````
init.lua
````
Do něj budeme importovat jednotlivé konfigurace.
5. Vytvoříme se soubor s názvem pluginu s koncovkou lua kterého chceme konfigurovat.
Já budu chtít například konfigurovat plugin 'gitsings'.
6. Vytvoříme ve složce 'kankys' soubor 'gitsings.lua'. Do něj vlažíme konfiguraci dle návodu z Githubu u pluginu.
Soubor pak bude vypadat takto:
````lua
require('gitsigns').setup {
-- signs config
current_line_blame = true,
current_line_blame_opts = {
virt_text_pos = 'right_align'
}
}
````
A uložíme ho.
7. Poslení bod na importovat konfiguraci do 'init.lua'
Otevřeme soubor 'init.lua' a do něj vložíme:
````
require('kankys/gitsigns')
````
A soubor uložíme.
Takto budeme přidávat další importy do 'init.lua'.
<div style="text-align: center;">
Copyright © 2024 - 2025 🚀 ApolloNvim / Lukáš Kaňka
</div>

View File

@ -0,0 +1 @@

View File

@ -0,0 +1,20 @@
# 20. Jak zobrazit náhled v markdown v prohlížeči pomocí coc-webview
Budeme si muset nainstalovat [Coc](https://github.com/neoclide/coc.nvim){target="_blank"} balíčkovací manager pro instalování doplňků do Neovim. pomocí [vim.plug](https://apollonvim.codeberg.page/cz/apollonvim/tutorials/01.%20vimplug/)
Pak nainstalujeme coc-webview příkazem v neovim (SHIFT + : ):
``
CocInstall coc-webview
``
A příkazem:
``
CocCommand coc-markdown-preview-enhanced.openPreview
``
Zobrazíme ve webovém prohlížeči náhled vašeho Markdown v reálném čase.
<div style="text-align: center;">
Copyright © 2024 - 2025 🚀 ApolloNvim / Lukáš Kaňka
</div>

141
tutorials/Hint.md Normal file
View File

@ -0,0 +1,141 @@
### Při problémech se syntaxi markdown je potřeba:
* PlugVim:
`Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}`
* Nainstalovat:
`:TSInstall markdown`
### AutoSave
* Nainstalovat plugin auto-save.nvim přes plug.vim pomocí následujícího příkazu: 
```
Plug 'Pocco81/auto-save.nvim' 
```
* Poté nastavit proměnné g:auto_save_enabled a g:auto_save_delay v init.vim takto: 
```
let g:auto_save_enabled = 1 
let g:auto_save_delay = 3000 
```
[https://github.com/Pocco81/auto-save.nvim?tab=readme-ov-file](https://github.com/Pocco81/auto-save.nvim?tab=readme-ov-file) 
* Autosave nefunguje v PowerShell
### Colorscheme automatické spouštění
* Takto nastavím vybrané colorscheme že se automaticky spustí při startu: 
* Nastavení do init.vim :
```
colorscheme dracula 
autocmd VimEnter * colorscheme dracula
```
### Kde najdu init vim a data Neovim?
* Linux a MacOS
```
/home/user/.config/nvim/init.vim
```
* Windows
```
/home/kankys/.local/share/nvim/ (data)
/home/kankys/.local/state/nvim/ (data)
```
### Vkládání z externích zdrojů
V Neovim (a také v klasickém Vim) můžete kopírovat text z externích zdrojů, například z webové stránky, pomocí několika různých metod. Zde jsou dvě možnosti:
### **Přímé kopírování z externí aplikace:**
1. **Zkopírujte text:**
- Otevřete webový prohlížeč a vyberte text, který chcete zkopírovat.
- Stiskněte `Ctrl+C` (nebo `Cmd+C` na macOS) pro kopírování.
2. **Přepnutí do režimu vkládání v Neovimu (režim insert ):**
- Otevřete neovim a načtěte soubor.
- Přepněte se do režimu vkládání stisknutím klávesy `i`.
3. **Vložte text:**
- Stiskněte `Ctrl+Shift+V` (nebo `Cmd+Shift+V` na macOS) pro vložení textu do Neovimu.
# Default klávesové zkratky
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:
### Základní pohyb:
- `h` - Pohyb vlevo
- `j` - Pohyb dolů
- `k` - Pohyb nahoru
- `l` - Pohyb vpravo
- `w` - Přesun na začátek dalšího slova
- `b` - Přesun na začátek předchozího slova
- `gg` - Přesun na začátek dokumentu
- `G` - Přesun na konec dokumentu
### Visuální mód:
Do něj se přepnu v Normal módu pomocí `v` pohybem kde byl kurzor mohu označovat text.
### Normální mód - NORMAL:
Do normál módu se z jiných přesunu pomocí `ESC`
- `i` - Přepnutí do režimu vkládání před kurzor
- `I` - Přepnutí do režimu vkládání na začátek řádku
- `a` - Přepnutí do režimu vkládání za kurzor
- `A` - Přepnutí do režimu vkládání na konec řádku
- `o` - Vložení nového řádku pod aktuálním řádkem
- `O` - Vložení nového řádku nad aktuálním řádkem
- `dd` - Smazání řádku
- `dw` - Smazání slova
- `yy` - Kopírování řádku
- `p` - Vložení obsahu schránky pod kurzor
- `P` - Vložení obsahu schránky před kurzor
- `u` - Vrácení poslední provedené akce
- `Ctrl + r` - Krok do předu opak `u`
- `q` - Zavře okno
- `.` - Poslední příkaz
- `Ctrl + w` - Přepínání oken
### Command mód:
Command mód vyvoláme pomocí `Shift + :`
- `:e + jméno souboru` - Vytvoří nový soubor - `:e index.html`
- `:w` - Uložení změn
- `:q` - Opuštění editoru
- `:wq` - Uložení změn a opuštění
- `:q!` - Opuštění editoru bez ukládání změn
- `:vs` - Vertikální rozložení oken
- `:sp` - Horizontální rozložení oken
- `:colorscheme` - Změní theme
- `:term` - Otevře terminál
### Vyhledávání a nahrazování:
- `/hledany_text` - Vyhledání textu
- `n` - Přeskočení na další výskyt hledaného textu
- `N` - Přeskočení na předchozí výskyt hledaného textu
- `:s/hledany_text/nahrazeny_text/g` - Nahrazení hledaného textu za zadaný text v celém dokumentu
### Různé:
- `Ctrl + r` - Opětovné provedení zrušené akce
- `:help` - Zobrazení nápovědy

18
tutorials/coc.extensions Normal file
View File

@ -0,0 +1,18 @@
coc-todolist
coc-tailwindcss
coc-project-manager
coc-prettier
coc-marketplace
coc-json
coc-html-css-support
coc-html
coc-emmet
coc-xml
coc-tsserver
coc-lsp-wl
coc-lit-html
coc-htmldjango
coc-css
coc-markdown-preview-enhanced
coc-markdownlint
coc-eslint