我在我的 .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”自编辑开始以来已更改。
有没有办法从缓冲区中删除该文件并关闭垂直分割窗口?