nasıl

2013-06-09 26 views
9

benim istekleri takip etmek budala yapılandırmak alamıyorum bir çağrı cihazı olarak vim kurulum renkli git diff için: etkileşimli modda dosyaları eklerken nasıl

  • fark renklerini tutmak bir fark çağrı cihazı olarak

    1. kullanım vim

    Benim ~/.gitconfig ayarı: Bu yapılandırma ile

    [color] 
        ui = auto 
        # diff = false 
    
    [pager] 
        diff = vim - 
    

    git add --interactive için etkileşimli mod beklendiği gibi renkli çıktı üretir:

    interactive adding

    bu olumsuz vim o fark bozuk olduğunu. git diff çıktısını bakınız:

    diff using vim

    renkler Tamam ama tam komutu yazın için çok tembelim git diff | vim - kullanarak. Her iki durumda da renkleri koruyan bilinen bir yöntem var mı?

  • +0

    http://stackoverflow.com/questions/39470081/vim-check- gör otomatik olarak nasıl çalıştırılacağı ile ilgili olarak çalışıyorsa: Yüklendikten sonra AnsiEsc. – 0fnt

    cevap

    11

    AnsiEsc plugin'u yüklemeniz ve dosyayı yükledikten hemen sonra :AnsiEsc'u çalıştırmanız gerekir. Bunu yapmak için çağrı cihazını vim -c AnsiEsc -'a ayarlayabilirsiniz.

    Alternatif olarak, vim kendi vurgulama kullanımı: aynı yöntemi kullanarak (-c command)

    %sm/\e.\{-}m//g 
    set ft=diff 
    

    çalıştırın:

    diff = "vim -c '%sm/\\e.\\{-}m//g' -c 'set ft=diff' -" 
    
    +2

    mükemmel, teşekkürler! İmleci, değiştirildikten sonra tamponun üst kısmına yerleştiren biraz geliştirilmiş bir versiyon kullandım. Aynı zamanda boş farkları da yok sayar: _diff = "vim -c '% sm/\\ e. \\ {-} m // ge' -c 'set ft = fark' -c 'normal gg' -" _ –

    +0

    Ekledim -c 'setlocal buftype = nofile', aşağıdakileri denerken vim'in kaydedilmemiş değişikliklerden şikayet etmesini önlemek için: q – notlesh

    0

    bu ayarları deneyin:

    git config --global diff.tool vimdiff 
    git config --global merge.tool vimdiff 
    
    git config --global difftool.prompt false 
    
    4

    Burada iki seçenek var.

    $ git config --global diff.tool vimdiff 
    $ git config --global difftool.prompt false 
    $ git config --global alias.d difftool 
    
    [diff] 
        tool = vimdiff 
    [difftool] 
        prompt = false 
    [alias] 
        d = difftool # Not needed, just a convenience. $ git difftool, still works. 
    

    Düzenli Git fark Use Vimdiff as a difftool

    fakat renk highlithing ile.

    $ git config --global color.ui true 
    
    [color] 
        ui = true 
    

    Şu anda, garip bir karışımı var. Tabii ki ikisini de kullanabilirsiniz, ancak pager bir şeyleri mahvediyor.
    ^[32m vb. Nedenini almanız, Vim'deki kabuk renklerini okumaya çalıştığınız içindir. Bu işe yaramıyor.