替换当前缓冲区时转到文件 (gf)

Go to a file (gf) while replacing the current buffer

我想在 vim 中 gf 并立即忘记我 gf 的来源(用 [=11] 的文件删除 buffer/replace =]进入)。 我想经常这样做。

不必要的详细信息: 我想稍微有效地浏览我的源代码控制的项目树。 Command-T 对我造成段错误,我没有时间调试它。我想到的是

 "create new buffer and read a filtered project tree into it
 :enew | cd `git-pwd` | r !git ls-files | grep MYFILTER
 "(git-pwd is a wrapper around `git rev-parse --show-cdup` that replaces empty output with ./ )

这给了我一个 grep 过滤的 repo 树,从那里我可以 "gf" 到我想要的特定文件。但是,这样做通常会累积它们未命名的缓冲区。我还不是很想学习 VimScript 并使自己成为一个合适的插件。

这个 ,gf 映射应该可以解决问题。当你更改文件时,前一个文件被设置为备用文件,你可以方便地通过[=] :bdelete(或:bwipeout,无论你喜欢什么) 14=]符号。

:nnoremap <silent> ,gf gf:bdelete #<CR>