Dieses Plug-in fugitive.vim
von Tim Pope für
vim nutze ich, um meine Git-Repositories zu verwalten. Es ist in der Handhabung sehr einfach. Ich
habe gemerkt, dass ich dieses Plug-in sogar lieber nutze, als die Konsolenanwendung git
, um Dateien dem Repository
hinzuzufügen und zu commiten.
Kurz gesagt: Es vereinfacht das Arbeiten mit Git
Funktionen
Es gibt unterschiedliche Funktionen, die dieses Plug-in offeriert:
:Gstatus
(git status
): Mit der Taste-
können Dateien hinzugefügt oder von den aktuellen Änderungen entfernt werden.:Gcommit
(git commit
): Nach dem Eingeben von der Commit-Nachricht und einem schließen des Buffers, wird commitet.:Glog
(git log
): Alle Versionen dieser Datei werden in einem Quickfix-Fenster gesammelt. Diese Versionen lassen sich mit:cprev
und:cnext
wechseln.:Gdiff
(git diff
): Dabei wird die aktuellen Änderungen an dieser Datei mit denen von der Datei aus dem Index verglichen und in einem VIM-Diff angezeigt.:Gread
(git checkout -- <filename>
): Die Datei wird aus dem Index gelesen und in einem Buffer geöffnet.:Gwrite
: Dieses fügt die Datei dem Index hinzu.:Gbrowse
: Nach diesem Befehl wird die Datei im GitHub-Repository im Browser geöffnet.
Weitere Funktionen
:Gblame
:Gmove
:Gremove
:Ggrep
:Git
:Git!
Einrichten
Das Plug-in lässt sich, wie alle anderen Plugins ziemlich leicht in vim integrieren. Ich nutze dafür das
Plug-in-Verwaltungs-Plug-in vundle
. Ich habe dies auch schon in einem anderen Artikel vorgestellt. Dadurch reicht das
Einfügen der folgenden Zeile in die .vimrc
:
Bundle 'fugitive.vim'
Wer möchte, kann sich meine .vimrc
unter GitHub ansehen. Am besten,
man öffnet diese Datei in vim
, damit die Foldings greifen.
Meine Änderungen
Ich habe noch folgende Zeilen meiner Konfiguration hinzugefügt. Das sind einfach nur Keymappings, die schnellere Aktionen ermöglichen:
nnoremap <silent> <leader>gs :Gstatus<CR>
nnoremap <silent> <leader>gd :Gdiff<CR>
nnoremap <silent> <leader>gc :Gcommit<CR>
nnoremap <silent> <leader>gb :Gblame<CR>
nnoremap <silent> <leader>gl :Glog<CR>
nnoremap <silent> <leader>gp :Git push<CR>
Screencasts
Diese sehr hilfreichen Screencasts haben mir bei der Benutzung von fugitive.vim
sehr geholfen.