我的 .vimrc 中有这个非常有用的功能:
function! MyGitDiff()
!git cat-file blob HEAD:% > temp/compare.tmp
diffthis
belowright vertical new
edit temp/compare.tmp
diffthis
endfunction
它所做的基本上是在垂直拆分窗口中从存储库中打开我当前正在处理的文件,然后与它进行比较。这非常方便,因为我可以轻松比较原始文件的更改。
但是,有一个问题。完成比较后,我通过键入 :q 删除拆分窗口。但是,这不会从缓冲区列表中删除缓冲区,我仍然可以在缓冲区列表中看到 compare.tmp 文件。这很烦人,因为每当我进行新比较时,我都会收到以下消息:
警告:文件“temp/compare.tmp”自编辑开始后已更改。
无论如何要从缓冲区中删除文件以及关闭垂直拆分窗口?