DSIW

Alles was interessant ist... (Linux, Programmierung, Datenschutz, Medien, uvm.)

vim-Plugin: fugitive.vim

| Comments

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.

Comments