Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to go back to the results of :Gblame after selecting a particular commit?

From the README of the fugitive plugin for vim:

:Gblame brings up an interactive vertical split with git blame output. Press enter on a line to edit the commit where the line changed, or o to open it in a split.

Is it possible to go back to the blame output once I pressed enter on a particular commit?

like image 639
planetp Avatar asked Jul 21 '14 15:07

planetp


2 Answers

I think what you may be looking for is -

Edit: What you actually want are O and o instead of <CR> if you know you will be going back to the commit.

Here are all the flags for the :Gblame command:

                                           *fugitive-:Gblame*
:Gblame [flags] 
 Run git-blame on the file and open the results in a
 scroll bound vertical split. You can give any of
 ltfnsewMC as flags and they will be passed along to
 git-blame. The following maps, which work on the
 cursor line commit where sensible, are provided:

     g? show this help
     A resize to end of author column
     C resize to end of commit column
     D resize to end of date/time column
     q close blame and return to blamed window
     gq q, then |:Gedit| to return to work tree version
     <CR> q, then open commit
     o open commit in horizontal split
     O open commit in new tab
     - reblame at commit
     ~ reblame at [count]th first grandparent
     P reblame at [count]th parent (like HEAD^[count])

For more information about the commands for Fugitive, look here.

like image 154
Zach Avatar answered Sep 22 '22 11:09

Zach


Another option- go to previous buffer using mere vim commands:

Since pressing 'enter' in vim-fugitive opens a new vim buffer on top of the old one- you can simply use vim command to go back:

:b 1 

(go to buffer no. 1).

If already have too many opened buffers, you can list them:

:buffers
like image 28
Omer Dagan Avatar answered Sep 25 '22 11:09

Omer Dagan