2025-02-05 11:03:55 +01:00

352 lines
15 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<title>18. Konfigurace Lua - 🚀ApolloNvim</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="../../../assets/css/darcula-highlight.min.css">
<link rel="stylesheet" href="../../../assets/css/bootstrap.min.css">
<link rel="stylesheet" href="../../../assets/css/dracula-ui.min.css">
<link rel="stylesheet" href="../../../assets/css/mkdocs.min.css">
<link href="../../../style/extra.css" rel="stylesheet">
<link rel="icon" type="image/x-icon" href="../../../assets/img/favicon.ico">
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
</head>
<body class="drac-bg-black-secondary drac-text-grey-ternary drac-text drac-scrollbar-purple">
<main class="d-flex">
<!-- block sidebar -->
<nav id="sidebar" class="sidebar drac-bg-black">
<div class="custom-menu">
<button type="button" id="sidebarCollapse" class="btn btn-primary">
<i class="fa fa-bars"></i>
<span class="sr-only">Menu</span>
</button>
</div>
<div class="p-4">
<div class="drac-text-center">
<span class="drac-text drac-line-height drac-text-white">🚀ApolloNvim</span>
</div>
<div class="drac-box flex-column">
<ul class="dot-ul">
<li><div class="dot-li drac-bg-cyan"></div></li>
<li><div class="dot-li drac-bg-green"></div></li>
<li><div class="dot-li drac-bg-orange"></div></li>
<li><div class="dot-li drac-bg-pink"></div></li>
<li><div class="dot-li drac-bg-purple"></div></li>
<li><div class="dot-li drac-bg-red"></div></li>
<li><div class="dot-li drac-bg-yellow"></div></li>
</ul>
</div>
<hr class="drac-divider" />
<!-- block menu -->
<ul class="mb-5 drac-list drac-list-none">
<li class="drac-box">
<a href="../../.."
class="
drac-anchor d-inline-flex align-items-center border-0 drac-text-purple--hover">
🏘 Domů
</a>
</li>
<li class="drac-box">
<a href="../../installation/"
class="
drac-anchor d-inline-flex align-items-center border-0 drac-text-purple--hover">
🛠 Instalace
</a>
</li>
<li class="drac-box">
<a href="../../plugins/"
class="
drac-anchor d-inline-flex align-items-center border-0 drac-text-purple--hover">
🗄 Pluginy
</a>
</li>
<li class="drac-box">
<a href="../../.."
class="
drac-anchor btn-toggle d-inline-flex align-items-center border-0 drac-text-purple--hover collapsed"
data-bs-toggle="collapse" data-bs-target="#📑-návody-collapse" aria-expanded="false">
📑 Návody
</a>
<div class="collapse" id="📑-návody-collapse">
<ul class="mb-5 drac-list drac-list-none">
<li class="drac-box-ternary">
<a href="../02.%20keyshortcuts/"
class="
drac-anchor d-inline-flex align-items-center border-0 drac-text-purple--hover">
Defaultní klávesové zkratky
</a>
</li>
<li class="drac-box-ternary">
<a href="../01.%20vimplug/"
class="
drac-anchor d-inline-flex align-items-center border-0 drac-text-purple--hover">
Jak nainstalovat vim.plug
</a>
</li>
<li class="drac-box-ternary">
<a href="../03.%20Jak%20nainstalovat%20Codeium%20do%20Neovim/"
class="
drac-anchor d-inline-flex align-items-center border-0 drac-text-purple--hover">
Jak nainstalovat Codeium do Neovim
</a>
</li>
<li class="drac-box-ternary">
<a href="../04.%20Jak%20nainstalovat%20Telescope%20do%20editoru%20Neovim/"
class="
drac-anchor d-inline-flex align-items-center border-0 drac-text-purple--hover">
Jak nainstalovat Telescope do editoru Neovim
</a>
</li>
<li class="drac-box-ternary">
<a href="../05.%20Barevn%C3%A9%20sch%C3%A9ma/"
class="
drac-anchor d-inline-flex align-items-center border-0 drac-text-purple--hover">
Barevné schéma
</a>
</li>
<li class="drac-box-ternary">
<a href="../06.%20Autosave/"
class="
drac-anchor d-inline-flex align-items-center border-0 drac-text-purple--hover">
Automatické úkládání
</a>
</li>
<li class="drac-box-ternary">
<a href="../07.%20Kop%C3%ADrov%C3%A1n%C3%AD%20a%20Vkl%C3%A1d%C3%A1n%C3%AD%20do%20a%20z%20%20Neovim%20z%20extern%C3%ADch%20zdroj%C5%AF/"
class="
drac-anchor d-inline-flex align-items-center border-0 drac-text-purple--hover">
Kopírování a Vkládání do a z Neovim z externích zdrojů
</a>
</li>
<li class="drac-box-ternary">
<a href="../08.%20Markdown_syntax/"
class="
drac-anchor d-inline-flex align-items-center border-0 drac-text-purple--hover">
Markdown_syntax
</a>
</li>
<li class="drac-box-ternary">
<a href="../09.%20init.vim%20z%C3%A1kladn%C3%AD%20nastaven%C3%AD/"
class="
drac-anchor d-inline-flex align-items-center border-0 drac-text-purple--hover">
init.vim základní nastavení
</a>
</li>
<li class="drac-box-ternary">
<a href="../10.%20vim-fugitive%20ovl%C3%A1dni%20Git%20v%20Neovim/"
class="
drac-anchor d-inline-flex align-items-center border-0 drac-text-purple--hover">
Vim-fugitive ovládni Git v Neovim
</a>
</li>
</ul>
</div>
</li>
<li class="drac-box">
<a href="../../../contact/"
class="
drac-anchor d-inline-flex align-items-center border-0 drac-text-purple--hover">
📪 Kontakty
</a>
</li>
</ul>
<!-- endblock -->
</div>
</nav>
<!-- endblock -->
<nav class="divider drac-bg-purple-cyan"></nav>
<div class="content">
<!-- block header -->
<header>
<nav class="navbar navbar-expand-xl drac-bg-purple">
<div class="container-fluid">
<button class="navbar-toggler w-100 text-center" type="button" data-bs-toggle="collapse" data-bs-target="#navbarsMenu"
aria-controls="navbarsMenu" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse flex-column ml-auto" id="navbarsMenu">
<ul class="navbar-nav text-md-center">
<!-- block preview -->
<li class="nav-item">
</li>
<!-- endblock -->
<!-- block search -->
<li class="nav-item"><div role="search" class="search-box">
<form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
<input type="text" name="q" class="drac-input drac-input-search drac-input-white drac-text-white drac-bg-black-secondary"
placeholder="Search docs" title="Type search term here" />
</form>
</div>
</li>
<!-- endblock -->
<!-- block source -->
<li class="nav-item">
</li>
<!-- endblock -->
</ul>
</div>
</div>
</nav>
</header>
<!-- endblock -->
<!-- block content -->
<section class="p-md-5 section-content">
<article>
<p><h3 id="konfigurace-plaginu-v-lua-souboru">Konfigurace plaginu v Lua souboru</h3>
<p>Některé pluginy pro svůj chod potřebují na konfigurovat. Tyto konfigurace se provádějí v jazyce <a href="https://www.lua.org/">Lua</a>. 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.</p>
<p>Máme dvě možnosti jak takovou konfiguraci uložit. Buď do souboru <code>init.vim</code> nebo pro lepší přehlednost do souboru lua kde bude mít každý plugin svůj soubor.</p>
<h5 id="prvni-zpusob">První způsob:</h5>
<p>Toto je jednoduší způsob konfigurace jejím přidání do 'init.vim'.</p>
<ol>
<li>V souboru 'init.vim' vytvoříme tyto dvě značky:</li>
</ol>
<div class="codehilite"><pre><span></span><code><span class="nv">lua</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="nv">EOF</span>
<span class="nv">EOF</span>
</code></pre></div>
<ol>
<li>A mezi ně vložíme samotný config, například takto:</li>
</ol>
<div class="codehilite"><pre><span></span><code><span class="nv">lua</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="nv">EOF</span>
<span class="c1">-- nvim-lightbulb setup</span>
<span class="nb">require</span><span class="p">(</span><span class="s1">&#39;nvim-lightbulb&#39;</span><span class="p">).</span><span class="nf">setup</span><span class="p">({</span>
<span class="w"> </span><span class="nv">autocmd</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nv">enabled</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="w"> </span><span class="p">},</span>
<span class="p">})</span>
<span class="nv">EOF</span>
</code></pre></div>
<p>A dále podsebe přidáváme jednotlivé značky 'lua &lt;&lt; EOF' 'EOF' a do nich vklkádat konfigurace.</p>
<h5 id="druhy-zpusob">Druhý způsob:</h5>
<p>Tnto způsob je o trochu složitější, ale pomůže lépe organizovat konfigurační soubory a mít lepší přehled.</p>
<ol>
<li>do souboru 'init.vim' přidáme tento řádek:</li>
</ol>
<div class="codehilite"><pre><span></span><code><span class="nv">lua</span><span class="w"> </span><span class="nb">require</span><span class="p">(</span><span class="s1">&#39;kankys&#39;</span><span class="p">)</span><span class="w"> </span>
</code></pre></div>
<p>Tím jsme si naimprtovali soubor do kterého budeme importovat jednotlivé konfigurace.</p>
<ol>
<li>
<p>Ve složce Neovim kde máme soubor 'init.vim' vytvoříme složku 'lua'.</p>
</li>
<li>
<p>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'.</p>
</li>
</ol>
<p>Měli by jste teď mít tutu strukturu: '~/.config/nvim/lua/kankys/'</p>
<ol>
<li>Ve složce 'kankys' vytvoříme soubor:</li>
</ol>
<div class="codehilite"><pre><span></span><code><span class="n">init.lua</span>
</code></pre></div>
<p>Do něj budeme importovat jednotlivé konfigurace.</p>
<ol>
<li>Vytvoříme se soubor s názvem pluginu s koncovkou lua kterého chceme konfigurovat.</li>
</ol>
<p>Já budu chtít například konfigurovat plugin 'gitsings'.</p>
<ol>
<li>Vytvoříme ve složce 'kankys' soubor 'gitsings.lua'. Do něj vlažíme konfiguraci dle návodu z Githubu u pluginu.</li>
</ol>
<p>Soubor pak bude vypadat takto:</p>
<div class="codehilite"><pre><span></span><code><span class="nb">require</span><span class="p">(</span><span class="s1">&#39;gitsigns&#39;</span><span class="p">).</span><span class="nv">setup</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="c1">-- signs config</span>
<span class="w"> </span><span class="nv">current_line_blame</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
<span class="w"> </span><span class="nv">current_line_blame_opts</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nv">virt_text_pos</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">&#39;right_align&#39;</span>
<span class="w"> </span><span class="p">}</span>
<span class="p">}</span>
</code></pre></div>
<p>A uložíme ho.</p>
<ol>
<li>Poslení bod na importovat konfiguraci do 'init.lua'</li>
</ol>
<p>Otevřeme soubor 'init.lua' a do něj vložíme:</p>
<div class="codehilite"><pre><span></span><code>require(&#39;kankys/gitsigns&#39;)
</code></pre></div>
<p>A soubor uložíme.</p>
<p>Takto budeme přidávat další importy do 'init.lua'.</p>
<div style="text-align: center;">
Copyright © 2024 - 2025 ApolloNvim
</div></p>
</article>
</section>
<!-- endblock -->
<!-- block footer -->
<footer>
<div class="d-flex flex-sm-row justify-content-between py-2 border-top drac-text-black drac-bg-cyan-green">
<a href="https://github.com/dracula/mkdocs" target="_blank" style="padding-left: 1%;"
class="footer-text drac-anchor drac-text-black drac-text-purple--hover">
Made with Dracula Theme for MkDocs
</a>
</div>
</footer>
<!-- endblock -->
</div>
</main>
<script>var base_url = '../../..';</script>
<script src="../../../assets/js/jquery-3.3.1.slim.min.js"></script>
<script src="../../../assets/js/bootstrap.bundle.min.js"></script>
<script src="../../../assets/js/mkdocs.js"></script>
<script src="../../../javascripts/extra.js" defer></script>
<script src="../../../search/main.js" defer></script>
</body>
</html>