2012-10-23 47 views
2

假設我在git儲存庫下有一個文件f.txt。該文件的初始版本包含一行,版本2包含兩行,每個新版本都向前一版本添加一行,因此版本10包含10行。在版本間快速切換

現在,我在vim編輯器中打開文件f.txt(第5版)。我想留在vim編輯器中,並且有可能使用像git_nextgit_previous這樣的命令,並快速在不同版本之間切換,而不必知道提交編號,也不需要離開vim

是否有這種使用gitvim的可能性?如果我可以輸入如git_versions這樣的命令,並且我可以從該文件的版本列表中進行選擇並切換到所需的版本,那也是很有用的。

回答

7

您正在查找Tim Pope的Fugitive.vim插件。它可以幫助你很多git命令。

使用fugitive.vim,您可以執行:Glog,修訂內容將被放入quickfix列表中。只需使用:cnext,​​和朋友在修訂之間移動即可。有一個很好的截屏,Fugitive.vim - exploring the history of a git repository,由德魯尼爾在這個。我強烈建議觀看關於這個主題的所有Vimcasts

在截屏中畫出了另一個Tim Pope插件,名爲Unimpaired.vim。我強烈推薦它。它將提供一些很好的映射([q,]q等)以移動通過quickfix列表。

如需更多幫助,請參見:

:h quickfix 
:h :cnext 

如果您已經安裝Fugitive.vim看到:

:h fugitive 
:h fugitive-:Glog