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" >
< a href = "../keyshortcuts/"
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 = "../vimplug/"
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-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 >
< p > < p > 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:< / 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 to nainstalovali pomocí t< code > telescope< / code > (< a href = "https://github.com/LukasKanka/ApolloNvim/blob/main/readme/04.%20Jak%20nainstalovat%20Telescope%20do%20editoru%20Neovim.md" > 04. Jak nainstalovat Telescope do editoru Neovim< / a > ), jsme pokryti.< / p >
< p > 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 a < 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, které naleznete zde .< / 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-fugitivemá< / code > < 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 > < / 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 >