3/09/2013

Vim i gitgutter

Kilka dni temu trafiłem na plugin vim-gitgutter i postanowiłem go wypróbować. W wielkim skrócie plugin odpowiada za pokazywanie w którym miejscu w pliku dokonałeś zmian, coś jak git diff.


Korzystam z pathogen, więc aby zainstalować plugin wklepałem:
cd ~/.vim/bundle
git clone git://github.com/airblade/vim-gitgutter.git
I już można się bawić. Posiedziałem nad nim chwilę i naprawdę mi się spodobał, lecz musiałem wprowadzić kilka swoich poprawek :)

Po pierwsze, wyłączyłem domyślne pokazywanie różnic, a zbindowałem sobie komendę GitGutterToggle pod <leader>gr. Dzięki temu jak chcę zobaczyć różnicę to wciskam ,gr (klawisz <leader> mam zbindowany pod ","), a jak chcę wyłączyć to wciskam znów to samo. Dodatkowo zbindowałem sobie komendy GitGutterNextHunk i GitGutterPrevHunk odpowiednio pod <leader>d oraz <leader>s. Mogę przez to w łatwy i szybki sposób poruszać się po pliku skacząc z jednej zmiany na drugą.

Tak to wygląda w pliku .vimrc:
let g:gitgutter_enabled = 0
nmap <leader>gr :GitGutterToggle<CR>
nmap <leader>s :GitGutterPrevHunk<CR>
nmap <leader>d :GitGutterNextHunk<CR>
Plugin oferuje jeszcze kilka innych ciekawych rozwiązań takich jak np. podświetlanie danej linii ze zmianami, ale mi osobiście to bardziej przeszkadza niż pomaga. Jak zawsze zapraszam do repo dotfiles. Jak masz coś fajnego, też się podziel :)