327 lines
14 KiB
HTML
Raw Normal View History

2025-02-04 22:44:30 +01:00
<!doctype html>
<html lang="en">
<head>
<title>11. Gitsigns drobné vylepšení git v Neovim - 🚀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">
2025-02-05 09:21:09 +01:00
<a href="../02.%20keyshortcuts/"
2025-02-04 22:44:30 +01:00
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">
2025-02-05 09:21:09 +01:00
<a href="../01.%20vimplug/"
2025-02-04 22:44:30 +01:00
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>
2025-02-05 00:00:47 +01:00
<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>
2025-02-05 07:25:31 +01:00
<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>
2025-02-05 09:21:09 +01:00
<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>
2025-02-05 09:59:26 +01:00
<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>
2025-02-05 11:03:55 +01:00
<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>
2025-02-04 22:44:30 +01:00
</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>
2025-02-05 11:03:55 +01:00
<p><h1 id="11-gitsigns-drobne-vylepseni-git-v-neovim">11. Gitsigns drobné vylepšení git v Neovim</h1>
<p>Skvělá věc při kódování je vidět smazané či upravené řádky v reálném čase.</p>
<p>Neovim toto standardně nepodporuje, takže použijeme gitsigns:</p>
2025-02-04 22:44:30 +01:00
<p>V našem init.vim přidáme:</p>
<div class="codehilite"><pre><span></span><code><span class="k">call</span><span class="w"> </span><span class="nl">plug</span>#<span class="nv">begin</span><span class="ss">(</span><span class="s1">&#39;~/.config/nvim/plugged&#39;</span><span class="ss">)</span>
<span class="err">&quot; gitsigns</span>
<span class="err">Plug &#39;lewis6991/gitsigns.nvim&#39;</span>
<span class="err">call plug#end()</span>
</code></pre></div>
2025-02-05 11:03:55 +01:00
<p>Poznámka: gitsigns vyžaduje <code>nvim-lua/plenary.nvim</code>. Protože jsme ho nainstalovali pomocí <code>telescope</code>(<a href="https://apollonvim.codeberg.page/cz/apollonvim/tutorials/04.%20Jak%20nainstalovat%20Telescope%20do%20editoru%20Neovim/" target="_blank">04. Jak nainstalovat Telescope do editoru Neovim</a>, jsme pokryti.</p>
<p>Už víte, co máte dělat Uložit, zdroj a <code>:PlugInstall</code>.</p>
<p>Gitsigns vyžaduje volání a setup ve vaší konfiguraci, aby to fungovalo. Vytvořme <code>gitsigns.lua</code> soubor v našem jmenném adresáři:</p>
2025-02-04 22:44:30 +01:00
<p><code>nvim ~/.config/nvim/lua/tvůj-adresář/gitsigns.lua</code></p>
<p>A uvnitř tohoto souboru začneme:</p>
<div class="codehilite"><pre><span></span><code>require(&#39;gitsigns&#39;).setup {}
</code></pre></div>
2025-02-05 11:03:55 +01:00
<p>Pokud nezadáte žádné možnosti, plugin se spustí s výchozím nastavením.</p>
2025-02-04 22:44:30 +01:00
<p>Nyní přidáme gitsigns.luado našeho adresáře jmenného prostoru init.lua soubor:</p>
<div class="codehilite"><pre><span></span><code>require(&#39;tvůj-adresář/telescope&#39;)
require(&#39;tvůj-adresář/lightline&#39;)
require(&#39;tvůj-adresář/gitsigns&#39;)
</code></pre></div>
<p>Můj vypadá takto:</p>
<div class="codehilite"><pre><span></span><code>require(&#39;kankys/telescope&#39;)
require(&#39;kankys/lightline&#39;)
require(&#39;kankys/gitsigns&#39;)
</code></pre></div>
<p>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 .</p>
<p>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í:</p>
<div class="codehilite"><pre><span></span><code>&quot; ... general settings
set signcolumn=number
</code></pre></div>
<p>Ulož a obnov zdrouj <code>:source</code> 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:</p>
<p><code>:h signcolumn</code></p>
<p>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í.</p>
2025-02-05 11:03:55 +01:00
<p>Tuto funkci miluji. <code>vim-fugitive</code> má příkaz <code>:Git blame</code> 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í:</p>
2025-02-04 22:44:30 +01:00
<div class="codehilite"><pre><span></span><code>require(&#39;gitsigns&#39;).setup {
-- signs config
current_line_blame = true,
current_line_blame_opts = {
virt_text_pos = &#39;right_align&#39;
}
}
</code></pre></div>
2025-02-05 11:03:55 +01:00
<p>A to je vše!</p>
<div style="text-align: center;">
Copyright © 2024 - 2025 ApolloNvim
</div></p>
2025-02-04 22:44:30 +01:00
</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>