<!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"> <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><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> <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">'~/.config/nvim/plugged'</span><span class="ss">)</span> <span class="err">" gitsigns</span> <span class="err">Plug 'lewis6991/gitsigns.nvim'</span> <span class="err">call plug#end()</span> </code></pre></div> <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> <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('gitsigns').setup {} </code></pre></div> <p>Pokud nezadáte žádné možnosti, plugin se spustí s výchozím nastavením.</p> <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('tvůj-adresář/telescope') require('tvůj-adresář/lightline') require('tvůj-adresář/gitsigns') </code></pre></div> <p>Můj vypadá takto:</p> <div class="codehilite"><pre><span></span><code>require('kankys/telescope') require('kankys/lightline') require('kankys/gitsigns') </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>" ... 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> <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> <div class="codehilite"><pre><span></span><code>require('gitsigns').setup { -- signs config current_line_blame = true, current_line_blame_opts = { virt_text_pos = 'right_align' } } </code></pre></div> <p>A to je vše!</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>