# 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, 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!

Copyright © 2024 - 2025 🚀 ApolloNvim / Lukáš Kaňka