vim-fugitive side-by-side git diff用于查看未分级文件的diff。
如何使用vi -fugitive来获取diff
- 上演了文件?
- 有git版本吗?
当前文件与索引的差值
:Gdiff :0
当前文件与其他[revision]之间的差异
:Gdiff [revision]
当前文件与当前文件3次提交前的差异:
:Gdiff ~3
您可以使用:Glog
获取当前文件的历史更改。您可以使用:cnext
或:cprevious
在更改之间移动。当你碰到你想要比较的版本时,你可以使用:Gdiff
。您可以关闭缓冲区:q
退出vimdiff,并使用:Gedit
退出历史日志。
这是我的。vimrc键盘配置:
nnoremap <leader>gs :Gstatus<CR>
nnoremap <leader>gc :Gcommit -v -q<CR>
nnoremap <leader>ga :Gcommit --amend<CR>
nnoremap <leader>gt :Gcommit -v -q %<CR>
nnoremap <leader>gd :Gdiff<CR>
nnoremap <leader>ge :Gedit<CR>
nnoremap <leader>gr :Gread<CR>
nnoremap <leader>gw :Gwrite<CR><CR>
nnoremap <leader>gl :silent! Glog<CR>
nnoremap <leader>gp :Ggrep<Space>
nnoremap <leader>gm :Gmove<Space>
nnoremap <leader>gb :Git branch<Space>
nnoremap <leader>go :Git checkout<Space>
nnoremap <leader>gps :Dispatch! git push<CR>
nnoremap <leader>gpl :Dispatch! git pull<CR>
我推荐Tim Pope的unimpaired.vim
插件。
<Leader>gl
查看历史记录
]q
和[q
在版本之间移动(unported .vim)
<Leader>gd
打开diff
:q
to end diff
<Leader>ge
返回工作副本
加上上面的答案:
如果您想从另一个分支获取特定文件的diff
Gdiff branch_name:path/to/dir/filename.txt
如果使用:Glog --
或:Glog -- %
(对于当前文件),我只是在这里放置我查看diff的方式:
-
:Glog --
- 导航到一个提交和它的信息以及受影响的文件显示
- 关注文件路径
-
<c-w>gf
和diff在新选项卡 中打开 -
:tabclose
关闭选项卡并获得diff之前的状态
:cw
打开提交列表